Empirical Investigation of Code Quality Rule Violations in HPC Applications

2021 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    12
    References
    0
    Citations
    NaN
    KQI
    []