Implications of software measurement to Lehman's eight laws

J. Munson
{"title":"Implications of software measurement to Lehman's eight laws","authors":"J. Munson","doi":"10.1109/ICSM.2002.1167750","DOIUrl":null,"url":null,"abstract":"Software systems change dramatically as they go through their various stages of development. From the first build of each such system to the last build the differences may be so great as to obscure the fact that it is still the same system. Developers commonly make this mistake when they talk about the system that they are developing. It might be referred to as the \"File Management System\" or whatever name seems to describe the software. This seems to imply that there is but one File Management System. The fact that is obscured when we talk about the File Management System is that today's build of the File Management System is probably vastly different in composition and in functionality from the original first-born File Management System of the first system build. We would like to be able to quantify the differences in the system from its first build, through all builds to the current one. Then and only then will it be possible to know how these systems have changed. The focus of my recent research in software maintenance has been in the area of measurement of software evolution. This research has led to some interesting empirical results that have direct implications for Lehman's eight laws of software evolution. Not all aspects of these eight laws of software evolution lend themselves to direct measurement. In particular the First Law suggests that a system must be continually adapted. This law is driven by forces outside of the software development arena that are very difficult to quantify. The third law is very similar from a measurement perspective. Self regulation is again a property that is attributable to outside forces. The 8th law is confined to the feedback systems nature of the processes controlling software evolution. This, again, is outside the purview of direct measurement. The remaining five laws do lend themselves to direct measurement from the products of software evolution. The main problem with measuring evolving software is that software systems have multiple attribute domains that are changing simultaneously. The size of a program changes. The data structures of that program change. The control complexity changes. In essence, measuring the software evolution process is a multivariate problem. The measurement of an evolving software system through the shifting sands of time is not an easy task. Perhaps one of the most difficult issues relates to the establishment of a baseline against which the evolving systems may be compared. When a number of successive system builds are to be measured, we will choose one of the systems as a baseline system. All others will be measured in relation to the chosen system. Sometimes it will be useful to select the initial system build for this baseline. If we select this system, then the measurements on all other systems will be taken in relation to the initial system configuration. Within this context, laws 4, 5, and 6 lend themselves directly to measurement directly from a baseline system. Data from the several projects at the Jet Propulsion Laboratory support this conjecture. Until very recently, it would have been very difficult to","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Software Maintenance, 2002. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2002.1167750","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Software systems change dramatically as they go through their various stages of development. From the first build of each such system to the last build the differences may be so great as to obscure the fact that it is still the same system. Developers commonly make this mistake when they talk about the system that they are developing. It might be referred to as the "File Management System" or whatever name seems to describe the software. This seems to imply that there is but one File Management System. The fact that is obscured when we talk about the File Management System is that today's build of the File Management System is probably vastly different in composition and in functionality from the original first-born File Management System of the first system build. We would like to be able to quantify the differences in the system from its first build, through all builds to the current one. Then and only then will it be possible to know how these systems have changed. The focus of my recent research in software maintenance has been in the area of measurement of software evolution. This research has led to some interesting empirical results that have direct implications for Lehman's eight laws of software evolution. Not all aspects of these eight laws of software evolution lend themselves to direct measurement. In particular the First Law suggests that a system must be continually adapted. This law is driven by forces outside of the software development arena that are very difficult to quantify. The third law is very similar from a measurement perspective. Self regulation is again a property that is attributable to outside forces. The 8th law is confined to the feedback systems nature of the processes controlling software evolution. This, again, is outside the purview of direct measurement. The remaining five laws do lend themselves to direct measurement from the products of software evolution. The main problem with measuring evolving software is that software systems have multiple attribute domains that are changing simultaneously. The size of a program changes. The data structures of that program change. The control complexity changes. In essence, measuring the software evolution process is a multivariate problem. The measurement of an evolving software system through the shifting sands of time is not an easy task. Perhaps one of the most difficult issues relates to the establishment of a baseline against which the evolving systems may be compared. When a number of successive system builds are to be measured, we will choose one of the systems as a baseline system. All others will be measured in relation to the chosen system. Sometimes it will be useful to select the initial system build for this baseline. If we select this system, then the measurements on all other systems will be taken in relation to the initial system configuration. Within this context, laws 4, 5, and 6 lend themselves directly to measurement directly from a baseline system. Data from the several projects at the Jet Propulsion Laboratory support this conjecture. Until very recently, it would have been very difficult to
软件测量对雷曼八定律的影响
软件系统在经历不同的开发阶段时会发生巨大的变化。从每个这样的系统的第一个构建到最后一个构建,差异可能是如此之大,以至于掩盖了它仍然是同一个系统的事实。开发人员在谈论他们正在开发的系统时通常会犯这个错误。它可能被称为“文件管理系统”或任何看起来描述该软件的名称。这似乎意味着只有一个文件管理系统。当我们谈论文件管理系统时,我们忽略了一个事实,即今天构建的文件管理系统在组成和功能上可能与第一个系统构建的原始文件管理系统有很大的不同。我们希望能够量化系统从第一次构建到所有构建到当前构建的差异。到那时,也只有到那时,才有可能知道这些系统是如何变化的。我最近在软件维护方面的研究重点是软件演进的度量领域。这项研究得出了一些有趣的实证结果,这些结果对雷曼的软件进化八定律有直接的影响。并非这八条软件进化定律的所有方面都适合直接测量。第一定律特别指出,一个系统必须不断地适应。这个法则是由软件开发领域之外的力量驱动的,很难量化。从测量的角度来看,第三定律非常相似。自我调节又是一种归因于外部力量的属性。第八定律局限于控制软件进化的过程的反馈系统性质。这再次超出了直接测量的范围。剩下的5条定律确实有助于从软件进化的产品中直接度量。测量演化软件的主要问题是软件系统有多个同时变化的属性域。程序的大小会发生变化。程序的数据结构改变了。控制复杂性改变。本质上,软件演化过程的度量是一个多变量问题。通过时间的流逝来衡量一个不断发展的软件系统并不是一件容易的事。也许最困难的问题之一是建立一个基线,以便对发展中的系统进行比较。当要度量许多连续的系统构建时,我们将选择其中一个系统作为基线系统。所有其他的都将根据所选系统进行测量。有时候,为这个基线选择初始系统构建是很有用的。如果我们选择这个系统,那么将根据初始系统配置对所有其他系统进行测量。在这种情况下,定律4、5和6直接适用于基线系统的测量。喷气推进实验室几个项目的数据支持这一猜想。直到最近,这还很难
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信