Investigating Automatic Static Analysis Results to Identify Quality Problems: An Inductive Study

A. Vetrò, N. Zazworka, F. Shull, C. Seaman, Michele A. Shaw
{"title":"Investigating Automatic Static Analysis Results to Identify Quality Problems: An Inductive Study","authors":"A. Vetrò, N. Zazworka, F. Shull, C. Seaman, Michele A. Shaw","doi":"10.1109/SEW.2012.9","DOIUrl":null,"url":null,"abstract":"Background: Automatic static analysis (ASA) tools examine source code to discover “issues”, i.e. code patterns that are symptoms of bad programming practices and that can lead to defective behavior. Studies in the literature have shown that these tools find defects earlier than other verification activities, but they produce a substantial number of false positive warnings. For this reason, an alternative approach is to use the set of ASA issues to identify defect prone files and components rather than focusing on the individual issues. Aim: We conducted an exploratory study to investigate whether ASA issues can be used as early indicators of faulty files and components and, for the first time, whether they point to a decay of specific software quality attributes, such as maintainability or functionality. Our aim is to understand the critical parameters and feasibility of such an approach to feed into future research on more specific quality and defect prediction models. Method: We analyzed an industrial C# web application using the Resharper ASA tool and explored if significant correlations exist in such a data set. Results: We found promising results when predicting defectprone files. A set of specific Resharper categories are better indicators of faulty files than common software metrics or the collection of issues of all issue categories, and these categories correlate to different software quality attributes. Conclusions: Our advice for future research is to perform analysis on file rather component level and to evaluate the generalizability of categories. We also recommend using larger datasets as we learned that data sparseness can lead to challenges in the proposed analysis process.","PeriodicalId":150723,"journal":{"name":"2012 35th Annual IEEE Software Engineering Workshop","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 35th Annual IEEE Software Engineering Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEW.2012.9","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

Background: Automatic static analysis (ASA) tools examine source code to discover “issues”, i.e. code patterns that are symptoms of bad programming practices and that can lead to defective behavior. Studies in the literature have shown that these tools find defects earlier than other verification activities, but they produce a substantial number of false positive warnings. For this reason, an alternative approach is to use the set of ASA issues to identify defect prone files and components rather than focusing on the individual issues. Aim: We conducted an exploratory study to investigate whether ASA issues can be used as early indicators of faulty files and components and, for the first time, whether they point to a decay of specific software quality attributes, such as maintainability or functionality. Our aim is to understand the critical parameters and feasibility of such an approach to feed into future research on more specific quality and defect prediction models. Method: We analyzed an industrial C# web application using the Resharper ASA tool and explored if significant correlations exist in such a data set. Results: We found promising results when predicting defectprone files. A set of specific Resharper categories are better indicators of faulty files than common software metrics or the collection of issues of all issue categories, and these categories correlate to different software quality attributes. Conclusions: Our advice for future research is to perform analysis on file rather component level and to evaluate the generalizability of categories. We also recommend using larger datasets as we learned that data sparseness can lead to challenges in the proposed analysis process.
调查自动静态分析结果以识别质量问题:一项归纳研究
背景:自动静态分析(ASA)工具检查源代码以发现“问题”,即代码模式,这些代码模式是不良编程实践的症状,可能导致有缺陷的行为。文献中的研究表明,这些工具比其他验证活动更早地发现缺陷,但是它们产生了大量的误报警告。出于这个原因,另一种方法是使用ASA问题集来识别容易出现缺陷的文件和组件,而不是专注于单个问题。目的:我们进行了一项探索性研究,以调查ASA问题是否可以用作故障文件和组件的早期指标,以及它们是否指向特定软件质量属性(如可维护性或功能)的衰减。我们的目标是了解这种方法的关键参数和可行性,以便为未来更具体的质量和缺陷预测模型的研究提供依据。方法:我们使用Resharper ASA工具分析了一个工业c# web应用程序,并探索在这样的数据集中是否存在显著的相关性。结果:在预测容易出现缺陷的文件时,我们发现了有希望的结果。一组特定的Resharper类别是错误文件的更好指示器,而不是普通的软件度量或所有问题类别的问题集合,并且这些类别与不同的软件质量属性相关。结论:我们建议未来的研究应在档案层面而非成分层面进行分析,并评估分类的普遍性。我们还建议使用更大的数据集,因为我们了解到数据稀疏可能会导致建议的分析过程中的挑战。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信