What to Fix? Distinguishing between Design and Non-design Rules in Automated Tools

Neil A. Ernst, S. Bellomo, I. Ozkaya, R. Nord
{"title":"What to Fix? Distinguishing between Design and Non-design Rules in Automated Tools","authors":"Neil A. Ernst, S. Bellomo, I. Ozkaya, R. Nord","doi":"10.1109/ICSA.2017.25","DOIUrl":null,"url":null,"abstract":"Design problems, frequently the result of optimizing for delivery speed, are a critical part of long-term software costs. Automatically detecting such design issues is a high priority for software practitioners. Software quality tools promise automatic detection of common software quality rule violations. However, since these tools bundle a number of rules, including rules for code quality, it is hard for users to understand which rules identify design issues in particular. Research has focused on comparing these tools on open source projects, but these comparisons have not looked at whether the rules were relevant to design. We conducted an empirical study using a structured categorization approach, and manually classified 466 software quality rules from three industry tools—CAST, SonarQube, and NDepend. We found that most of these rules were easily labeled as either non-design (55%) or design (19%). The remainder (26%) resulted in disagreements among the labelers. Our results are a first step in formalizing a definition of a design rule, to support automatic detection.","PeriodicalId":6599,"journal":{"name":"2017 IEEE International Conference on Software Architecture (ICSA)","volume":"12 1","pages":"165-168"},"PeriodicalIF":0.0000,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE International Conference on Software Architecture (ICSA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA.2017.25","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Design problems, frequently the result of optimizing for delivery speed, are a critical part of long-term software costs. Automatically detecting such design issues is a high priority for software practitioners. Software quality tools promise automatic detection of common software quality rule violations. However, since these tools bundle a number of rules, including rules for code quality, it is hard for users to understand which rules identify design issues in particular. Research has focused on comparing these tools on open source projects, but these comparisons have not looked at whether the rules were relevant to design. We conducted an empirical study using a structured categorization approach, and manually classified 466 software quality rules from three industry tools—CAST, SonarQube, and NDepend. We found that most of these rules were easily labeled as either non-design (55%) or design (19%). The remainder (26%) resulted in disagreements among the labelers. Our results are a first step in formalizing a definition of a design rule, to support automatic detection.
要解决什么?区分自动化工具中的设计规则和非设计规则
设计问题,通常是优化交付速度的结果,是长期软件成本的关键部分。自动检测这样的设计问题是软件从业者的当务之急。软件质量工具承诺自动检测常见的软件质量规则违反。然而,由于这些工具捆绑了许多规则,包括代码质量规则,用户很难理解哪些规则确定了特定的设计问题。研究的重点是在开源项目中比较这些工具,但这些比较并没有考虑这些规则是否与设计相关。我们使用结构化分类方法进行了一项实证研究,并从三个行业工具(cast、SonarQube和NDepend)中手动分类了466条软件质量规则。我们发现这些规则中的大多数很容易被标记为非设计(55%)或设计(19%)。其余的(26%)导致标签商之间的分歧。我们的结果是形式化设计规则定义的第一步,以支持自动检测。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信