On the Relationship Between Linter Warning Density and Software Maintainability: An Empirical Study of JavaScript Projects

Tjaša Heričko, Boštjan Šumak
{"title":"On the Relationship Between Linter Warning Density and Software Maintainability: An Empirical Study of JavaScript Projects","authors":"Tjaša Heričko, Boštjan Šumak","doi":"10.1145/3584871.3584884","DOIUrl":null,"url":null,"abstract":"A common practice in software development is to include linters, static analysis tools that warn developers about potential issues in the code, in the software quality assurance process. Actionable warnings generated by linters upon violations of defined rules help detect, resolve, and reduce coding errors, quality flaws, code style inconsistencies, and deviations from best coding practices and conventions. However, little empirical evidence exists to fully understand the relationship between linter warnings and external software quality factors. To this end, an empirical investigation of the source code of 40 open-source JavaScript project releases was conducted to study whether there is a relation between software maintainability measured by the Maintainability Index and the density of linter warnings per Logical Lines of Code. The findings suggest a very weak to strong negative correlation between warning density and the value of the Index at a project- and a module-level. Changes in warning density between projects only slightly inversely correspond to changes in maintainability. Additionally, a statistically significant difference in maintainability was found between projects defining linters in their manifest file and those that do not, in favor of the former.","PeriodicalId":173315,"journal":{"name":"Proceedings of the 2023 6th International Conference on Software Engineering and Information Management","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2023 6th International Conference on Software Engineering and Information Management","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3584871.3584884","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

A common practice in software development is to include linters, static analysis tools that warn developers about potential issues in the code, in the software quality assurance process. Actionable warnings generated by linters upon violations of defined rules help detect, resolve, and reduce coding errors, quality flaws, code style inconsistencies, and deviations from best coding practices and conventions. However, little empirical evidence exists to fully understand the relationship between linter warnings and external software quality factors. To this end, an empirical investigation of the source code of 40 open-source JavaScript project releases was conducted to study whether there is a relation between software maintainability measured by the Maintainability Index and the density of linter warnings per Logical Lines of Code. The findings suggest a very weak to strong negative correlation between warning density and the value of the Index at a project- and a module-level. Changes in warning density between projects only slightly inversely correspond to changes in maintainability. Additionally, a statistically significant difference in maintainability was found between projects defining linters in their manifest file and those that do not, in favor of the former.
网络预警密度与软件可维护性的关系——基于JavaScript项目的实证研究
软件开发中的一个常见做法是在软件质量保证过程中包含提示器,即警告开发人员代码中潜在问题的静态分析工具。lint在违反已定义规则时生成的可操作警告有助于检测、解决和减少编码错误、质量缺陷、代码风格不一致以及与最佳编码实践和约定的偏差。然而,很少有经验证据能够充分理解预警与外部软件质量因素之间的关系。为此,我们对40个开源JavaScript项目发行版的源代码进行了实证调查,以研究可维护性指数衡量的软件可维护性与每条代码逻辑行出现的漏洞警告密度之间是否存在关系。研究结果表明,预警密度与项目和模块级别的指数值之间存在极弱至强的负相关关系。项目之间警告密度的变化与可维护性的变化只有轻微的反比。此外,在可维护性方面,在清单文件中定义了lint的项目和没有定义lint的项目之间存在统计学意义上的显著差异,这更倾向于前者。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信