Title | Threshold-Based Analysis of the Code Quality of High-Performance Computing Software Packages |
Publication Type | Conference Paper |
Year of Publication | 2021 |
Authors | Ndemeye, Bosco, Hussain, Shahid, Norris, Boyana |
Conference Name | 2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C) |
Date Published | dec |
Keywords | Clang, codes, Complexity theory, Computing Theory, Conferences, data mining, datasets, LLVM, Measurement, Metrics, pubcrawl, security metrics, software packages, software quality, static analysis, statistical analysis |
Abstract | Many popular metrics used for the quantification of the quality or complexity of a codebase (e.g. cyclomatic complexity) were developed in the 1970s or 1980s when source code sizes were significantly smaller than they are today, and before a number of modern programming language features were introduced in different languages. Thus, the many thresholds that were suggested by researchers for deciding whether a given function is lacking in a given quality dimension need to be updated. In the pursuit of this goal, we study a number of open-source high-performance codes, each of which has been in development for more than 15 years--a characteristic which we take to imply good design to score them in terms of their source codes' quality and to relax the above-mentioned thresholds. First, we employ the LLVM/Clang compiler infrastructure and introduce a Clang AST tool to gather AST-based metrics, as well as an LLVM IR pass for those based on a source code's static call graph. Second, we perform statistical analysis to identify the reference thresholds of 22 code quality and callgraph-related metrics at a fine grained level. |
DOI | 10.1109/QRS-C55045.2021.00041 |
Citation Key | ndemeye_threshold-based_2021 |