Threshold-Based Analysis of the Code Quality of High-Performance Computing Software Packages

Bosco Ndemeye, Shahid Hussain, Boyana Norris

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationProceedings - 2021 21st International Conference on Software Quality, Reliability and Security Companion, QRS-C 2021
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages222-228
Number of pages7
ISBN (Electronic)9781665478366
DOIs
StatePublished - 2021
Event21st International Conference on Software Quality, Reliability and Security Companion, QRS-C 2021 - Virtual, Hainan, China
Duration: Dec 6 2021Dec 10 2021

Publication series

NameProceedings - 2021 21st International Conference on Software Quality, Reliability and Security Companion, QRS-C 2021

Conference

Conference21st International Conference on Software Quality, Reliability and Security Companion, QRS-C 2021
Country/TerritoryChina
CityVirtual, Hainan
Period12/6/2112/10/21

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Threshold-Based Analysis of the Code Quality of High-Performance Computing Software Packages'. Together they form a unique fingerprint.

Cite this