Skip to main content

Can machine learning help with the evaluation of software quality?

Maintainability plays an important role as a central component of software quality, both in the development of new software and in existing systems, as it significantly determines the future costs of maintenance and further development. The maintainability of source code is influenced by aspects such as modularity, readability and duplication.

Some of these can be determined relatively easily with syntactic analysis using code metrics, such as cognitive complexity or cloning, and are therefore also determined by typical quality assurance tools. Such metrics are certainly valuable in practice, but do not capture all facets that make up the maintainability of source code.

Reliable statements about the maintainability of large software landscapes, which have often grown over decades, are therefore not possible without manual code inspection by experienced software engineers. For cost reasons, only a small part of the source code can be viewed in such a “Software HealthCheck”, so that a targeted selection is necessary.

As part of a multi-year research collaboration with the Chair of Software and Systems Engineering at the Technical University of Munich, itestra provided content and financial support for a dissertation that investigated how well machine learning approaches can be used to automatically assess maintainability.

For example, machine learning models were trained on quality assessments of known code fragments recorded by software engineers, which were then able to classify unknown code with high precision. In an interactive overview, such automatically calculated ratings, combined with other aggregated metrics, can now give software analysts a graphical overview of very large code bases and systematically guide them to “interesting” code locations.

  • The scientific papers written as part of this research have been published at international conferences such as ICSME, EASE, and ESEM, and have received a Best Paper Award and the Pelkhoven Prize for outstanding master’s theses, among others.
  • The close exchange with science and research, which itestra has maintained from the very beginning, will remain important for us in the future in order to make innovative ideas usable for our work and our customers and to feed practical experience back into research.

Read more?

Defining a Software Maintainability Dataset: Collecting, Aggregating and Analyzing Expert Evaluations of Software Maintainability

M Schnappinger, A Fietzke, A Pretschner
IEEE International Conference on Software Maintenance and Evolution, ICSME 2020

A Preliminary Study on Using Text and Image Based Machine Learning to Predict Software Maintainability Software Quality

M Schnappinger, S Zachau, A Fietzke, A Pretschner
Software Quality Days 2022
Best Paper Award

Vectorizing Software for Machine Learning

C Feiler
Master thesis
Pelkhoven Prize 2022

info@itestra.de
+49 89 381570-110

Shaping the future together.