{"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.