比较新代码和修改代码的错误倾向:一个工业案例研究

Piotr Tomaszewski, Lars-Ola Damm
{"title":"比较新代码和修改代码的错误倾向:一个工业案例研究","authors":"Piotr Tomaszewski, Lars-Ola Damm","doi":"10.1145/1159733.1159737","DOIUrl":null,"url":null,"abstract":"Faults are considered as one of the important factors affecting the cost of software development projects. To be able to efficiently handle faults, we must increase our understanding of the factors that make the code fault-prone. A majority of large software systems evolve during their lifetime. In each new release of the system the functionality can be added by writing new classes or/and by modifying already existing ones. In this study we compared the fault-proneness of new and modified classes in such systems. Our study is based on two releases of two large telecommunication systems developed at Ericsson. The major finding of the study is that the risk of introducing faults (the number of faults in the class /the number of new or modified lines of code in the class) is 20 to 40 times as high in modified classes compared to new ones. In the systems which we analyzed a small modification (a few percent) of the class resulted in as many faults as we would expect when the same class was written from scratch. Previous research on this relationship does not appear to exist. Partly in conflict with related research, we found that there is no statistically significant difference between the average number of faults in modified and new classes, and that the average fault-densities (the number of faults/the size of the entire class) in new and in modified classes are very similar. Finally, we also suggest how our findings can be used in practice.","PeriodicalId":201305,"journal":{"name":"International Symposium on Empirical Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Comparing the fault-proneness of new and modified code: an industrial case study\",\"authors\":\"Piotr Tomaszewski, Lars-Ola Damm\",\"doi\":\"10.1145/1159733.1159737\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Faults are considered as one of the important factors affecting the cost of software development projects. To be able to efficiently handle faults, we must increase our understanding of the factors that make the code fault-prone. A majority of large software systems evolve during their lifetime. In each new release of the system the functionality can be added by writing new classes or/and by modifying already existing ones. In this study we compared the fault-proneness of new and modified classes in such systems. Our study is based on two releases of two large telecommunication systems developed at Ericsson. The major finding of the study is that the risk of introducing faults (the number of faults in the class /the number of new or modified lines of code in the class) is 20 to 40 times as high in modified classes compared to new ones. In the systems which we analyzed a small modification (a few percent) of the class resulted in as many faults as we would expect when the same class was written from scratch. Previous research on this relationship does not appear to exist. Partly in conflict with related research, we found that there is no statistically significant difference between the average number of faults in modified and new classes, and that the average fault-densities (the number of faults/the size of the entire class) in new and in modified classes are very similar. Finally, we also suggest how our findings can be used in practice.\",\"PeriodicalId\":201305,\"journal\":{\"name\":\"International Symposium on Empirical Software Engineering\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2006-09-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Symposium on Empirical Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1159733.1159737\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Symposium on Empirical Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1159733.1159737","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

故障被认为是影响软件开发项目成本的重要因素之一。为了能够有效地处理错误,我们必须增加对使代码容易出错的因素的理解。大多数大型软件系统在其生命周期中不断发展。在系统的每个新版本中,可以通过编写新类或/或修改已经存在的类来添加功能。在这项研究中,我们比较了新类和修改类在这种系统中的故障倾向。我们的研究基于爱立信开发的两个大型电信系统的两个版本。该研究的主要发现是,在修改过的类中引入错误的风险(类中的错误数量/类中新增或修改的代码行数)是新类的20到40倍。在我们分析的系统中,类的一个小修改(百分之几)导致的错误与从头编写相同的类时我们所期望的一样多。之前关于这种关系的研究似乎并不存在。部分与相关研究相矛盾的是,我们发现修正类和新类的平均断层数没有统计学上的显著差异,而新类和修正类的平均断层密度(断层数/整个类的大小)非常相似。最后,我们还提出了如何在实践中使用我们的发现。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Comparing the fault-proneness of new and modified code: an industrial case study
Faults are considered as one of the important factors affecting the cost of software development projects. To be able to efficiently handle faults, we must increase our understanding of the factors that make the code fault-prone. A majority of large software systems evolve during their lifetime. In each new release of the system the functionality can be added by writing new classes or/and by modifying already existing ones. In this study we compared the fault-proneness of new and modified classes in such systems. Our study is based on two releases of two large telecommunication systems developed at Ericsson. The major finding of the study is that the risk of introducing faults (the number of faults in the class /the number of new or modified lines of code in the class) is 20 to 40 times as high in modified classes compared to new ones. In the systems which we analyzed a small modification (a few percent) of the class resulted in as many faults as we would expect when the same class was written from scratch. Previous research on this relationship does not appear to exist. Partly in conflict with related research, we found that there is no statistically significant difference between the average number of faults in modified and new classes, and that the average fault-densities (the number of faults/the size of the entire class) in new and in modified classes are very similar. Finally, we also suggest how our findings can be used in practice.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信