Empirical investigation of code quality rule violations in HPC applications

Shahid Hussain, Kaley Chicoine, Boyana Norris

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

1 Scopus citations

Abstract

In large, collaborative open-source projects, developers must follow good coding standards to ensure the quality and sustainability of the resulting software. This is especially a challenge in high-performance computing projects, which admit a diverse set of contributions over decades of development. Some successful projects, such as the Portable, Extensible Toolkit for Scientific Computation (PETSc), have created comprehensive developer documentation, including specific code quality rules, which should be followed by contributors. However, none of the widely used and highly active open-source HPC projects have a way to automatically check whether these rules, typically expressed informally in English, are being violated. Hence, compliance checking is labor-intensive and difficult to ensure. To address this issue, we propose an automated method for detecting rule violations in HPC applications based on the PETSc development rules. In our empirical study, we consider 46 PETSc-based applications and assess the violations of two C-usage rules. The experimental results demonstrate the efficacy of the proposed method in identifying PETSc rule violations, which can be broadened to other HPC frameworks and extended by us and others in the community to include more rules.

Original languageEnglish (US)
Title of host publicationProceedings of EASE 2021 - Evaluation and Assessment in Software Engineering
PublisherAssociation for Computing Machinery
Pages402-411
Number of pages10
ISBN (Electronic)9781450390538
DOIs
StatePublished - Jun 21 2021
Event25th Evaluation and Assessment in Software Engineering Conference, EASE 2021 - Virtual, Online, Norway
Duration: Jun 21 2021Jun 24 2021

Publication series

NameACM International Conference Proceeding Series

Conference

Conference25th Evaluation and Assessment in Software Engineering Conference, EASE 2021
Country/TerritoryNorway
CityVirtual, Online
Period6/21/216/24/21

All Science Journal Classification (ASJC) codes

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'Empirical investigation of code quality rule violations in HPC applications'. Together they form a unique fingerprint.

Cite this