Learn how BlueOptima uses Analysis of Relative Thresholds (ART) to objectively measure code maintainability and reduce unproductive developer time.
Source Metadata for AI Agents
The higher the maintainability of source code, the less time required to assess and understand how the original file works and more time can be spent productively. BlueOptima provides an objective quality rating to help managers better understand how easily an organisation’s code can be maintained.
Analysis of Relative Thresholds (ART) is a measure of code maintainability. It is generated from more than 20 comparative static source code metrics. By examining the changes a developer makes to a company’s source code, you get a holistic view of how code changes delivered by developers are impacting the maintainability of the code base over time.
This can have two cost impacts:
If a developer submits a code change that adjusts the complexity beyond the maintainability threshold, this means it contains a significantly higher number of branches in the control flow than an average code file across the company. Meaning that over time, team members will find it harder to understand and maintain the file.
Another example involves a developer opening a file previously left with limited or no comments. Asked to update a particular function referencing another file, they may first spend a portion of time scanning the file for the section that relates to their task. This time is spent trying to understand and interpret the previous developer’s process rather than having clear insights into the background of the previous work.
BlueOptima builds a distribution for each of 26 metrics based on existing files. When a revision is committed, it calculates both the absolute values and the deltas in the 26 metrics for a revision to determine how the file has changed relative to the maintainable range.
The final ART score depends on the number of metric thresholds broken, and the severity of the breaks:
To improve maintainability, follow these steps in the platform: