Human-level ordinal maintainability prediction based on static code metrics

Markus Schnappinger, Arnaud Fietzke, Alexander Pretschner

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Scopus citations

Abstract

One of the greatest challenges in software quality control is the efficient and effective measurement of maintainability. Thorough expert assessments are precise yet slow and expensive, whereas automated static analysis yields imprecise yet rapid feedback. Several machine learning approaches aim to integrate the advantages of both concepts. However, most prior studies did not adhere to expert judgment and predicted the number of changed lines as a proxy for maintainability, or were biased towards a small group of experts. In contrast, the present study builds on a manually labeled and validated dataset. Prediction is done using static code metrics where we found simple structural metrics such as the size of a class and its methods to yield the highest predictive power towards maintainability. Using just a small set of these metrics, our models can distinguish easy from hard to maintain code with an F-score of 91.3% and AUC of 82.3%. In addition, we perform a more detailed ordinal classification and compare the quality of the classification with the performance of experts. Here, we use the deviations between the individual expert's ratings and the eventually determined consensus of all experts. In sum, our models achieve the same level of performance as an average human expert. In fact, the obtained accuracy and mean squared error outperform human performance. We hence argue that our models provide an automated and trustworthy prediction of software maintainability.

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

Publication series

NameACM International Conference Proceeding Series

Conference

Conference25th Evaluation and Assessment in Software Engineering Conference, EASE 2021
Country/TerritoryNorway
CityVirtual, Online
Period21/06/2124/06/21

Keywords

  • Expert Judgment
  • Machine Learning
  • Maintainability Prediction
  • Ordinal Classification
  • Software Maintainability

Fingerprint

Dive into the research topics of 'Human-level ordinal maintainability prediction based on static code metrics'. Together they form a unique fingerprint.

Cite this