SmartDelta offers solution for retro perspective code analysis in technical debt management
Maintaining software and its related influencing quality factors is a significant challenge for the industry. It is not only essential to understand the current state but also to learn and grow from past experiences and evaluate its technical debt, to see which costs will be involved if problems that will affect business in the future aren’t fixed. Identifying potential deviations allows companies to exist in the long run – avoiding extra effort, costs and overhead.
The SmartDelta project builds automated solutions for quality assessment of product deltas in a continuous engineering environment by providing smart analytics from development artifacts and system execution. The goal is to offer insights into quality improvements or degradation of different product versions and providing recommendations for the next builds.
SoHist, a solution for retro perspective code analysis
SoHist, by the University of Innsbruck, is one of the tools developed within SmartDelta that facilitates the accurate analysis and determination of quality implications of each change and increment to a system. It emerged through the collaboration between c.c.com Moser GmbH, Software AG Research and the University of Innsbruck.
Often code analysis tools are used to facilitate the automated assessment of various forms of technical debt, such as reliability (bugs), security, or maintainability (code smells). In their preliminary survey, the project partners identified SonarQube as the industry’s most important code analysis tool, with over 200,000 companies worldwide that fall back on it. Currently, SonarQube has some limitations when it comes to applying it in incremental industrial software systems. These limitations include:
- lacking comparability of code evolution if SonarQube versions change over time,
- cumbersome processes are needed to retrieve historical quality analysis, and
- visualisations that limit the interpretation of code quality aspects and do not consider individual project requirements.
SoHist addresses these issues by building on SonarQube’s strengths and providing additional features to assess and prioritise technical debt. The containerised application enables companies to connect to their GIT repository and execute retro-perspective code analysis with several filtering options (committers, time range, or branch).
After the analysis, a dashboard helps to interpret the technical debt in more detail. For instance, users can display multiple code quality metrics simultaneously and compare those against each other. Additionally, users can adjust the weighting of various code quality aspects based on the unique contexts and goals of the project. Using this input, the Weighted Code Evolution Significance is calculated, which offers a means of identifying the changes that have had the most significant impact based on their respective weights.
The SoHist prototype has already demonstrated its advantages to two SmartDelta partners. For instance, c.c.com Moser GmbH is leveraging the tool to gather energy-related code metrics for sensor firmware changes. Another example is Software AG Research that by using SoHist can monitor code quality trends throughout a project's lifespan. This allows them to enhance project advancement and take corrective actions if necessary.
SoHist is one of the novel solutions emerging from the SmartDelta project, bringing together European (Sweden, Belgium, Germany, Turkey, Spain, Austria, Finland, and the Czech Republic) and Canadian industrial and academic communities, to create automated solutions for assessing the quality of product deltas within a continuous engineering setting.
Automated Quality Assurance and Optimization in Incremental Industrial Software Systems Development