An Empirical Study on the Adequacy of Testing in Open Source Projects

Pavneet Singh Kochhar, Ferdian Thung, D. Lo, J. Lawall
{"title":"An Empirical Study on the Adequacy of Testing in Open Source Projects","authors":"Pavneet Singh Kochhar, Ferdian Thung, D. Lo, J. Lawall","doi":"10.1109/APSEC.2014.42","DOIUrl":null,"url":null,"abstract":"During software maintenance, testing is a crucial activity to ensure the quality of code as it evolves over time. With the increasing size and complexity of software, adequate software testing has become increasingly important. Code coverage is an important metric to gauge the effectiveness of test cases and the adequacy of testing. However, what is the coverage level exhibited by large-scale open-source projects? What is the correlation between software metrics and the code coverage of the software? In this study, we investigate the state-of-the-practice of testing by measuring code coverage in open-source software projects. We examine over 300 large open-source projects written in Java, to measure the code coverage of their associated test cases. We analyse correlations between code coverage and relevant software metrics such as lines of code, cyclomatic complexity, and number of developers. Our results show that the coverage level decreases with the increase in size and complexity of the software, whereas the number of developers has an insignificant correlation with the code coverage. However, considering individual files, coverage increases with the size and complexity, whereas the number of developers has no correlation with the code coverage. Our results highlight the strengths and weaknesses of testing in open-source projects and make recommendations for future research.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"20","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 21st Asia-Pacific Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC.2014.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 20

Abstract

During software maintenance, testing is a crucial activity to ensure the quality of code as it evolves over time. With the increasing size and complexity of software, adequate software testing has become increasingly important. Code coverage is an important metric to gauge the effectiveness of test cases and the adequacy of testing. However, what is the coverage level exhibited by large-scale open-source projects? What is the correlation between software metrics and the code coverage of the software? In this study, we investigate the state-of-the-practice of testing by measuring code coverage in open-source software projects. We examine over 300 large open-source projects written in Java, to measure the code coverage of their associated test cases. We analyse correlations between code coverage and relevant software metrics such as lines of code, cyclomatic complexity, and number of developers. Our results show that the coverage level decreases with the increase in size and complexity of the software, whereas the number of developers has an insignificant correlation with the code coverage. However, considering individual files, coverage increases with the size and complexity, whereas the number of developers has no correlation with the code coverage. Our results highlight the strengths and weaknesses of testing in open-source projects and make recommendations for future research.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
开源项目中测试充分性的实证研究
在软件维护期间,测试是确保随着时间的推移代码质量的关键活动。随着软件规模和复杂性的增加,充分的软件测试变得越来越重要。代码覆盖率是衡量测试用例的有效性和测试的充分性的重要指标。然而,大型开源项目所展示的覆盖水平是怎样的呢?软件度量和软件的代码覆盖率之间的关联是什么?在这项研究中,我们通过测量开源软件项目中的代码覆盖率来调查测试实践的现状。我们检查了300多个用Java编写的大型开源项目,以度量它们相关测试用例的代码覆盖率。我们分析代码覆盖率和相关软件度量(如代码行数、圈复杂度和开发人员数量)之间的相关性。我们的结果表明,覆盖率水平随着软件规模和复杂性的增加而降低,而开发人员的数量与代码覆盖率的相关性不显著。然而,考虑到单个文件,覆盖率随着大小和复杂性的增加而增加,而开发人员的数量与代码覆盖率没有相关性。我们的研究结果突出了开源项目中测试的优点和缺点,并为未来的研究提出了建议。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
pIML -- An Interrupt Program Modelling Language for Real-Time and Embedded Systems What Community Contribution Pattern Says about Stability of Software Project? Guidelines for the Use of Function Block Diagram in Reactor Protection Systems Data Flow Based Integration Testing for Embedded System Using Interaction Model Model Checking of Software Product Lines in Presence of Nondeterminism and Probabilities
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1