Automated Software Source Code Quality Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for evaluating software source code quality are inefficient and impractical, especially for large volumes of code, due to dependence on expert assessment and the limitations of quality metrics, which are not easily scalable or reproducible.

Innovation Solution

An automated method and device that determine the current quality of software source code and the distance to a predetermined quality target, using a sequence of refactoring steps to provide a measurable path for improvement, allowing for the selection of an optimized sequence of refactoring steps to achieve the desired quality based on predefined criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If expert assessment is used to evaluate software source code quality, then measurement precision is improved, but device complexity and loss of time increase significantly

Engineering Contradiction:
Improvequality assessment accuracyVSAvoidtime for manual review
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the manual expert assessment process with an automated evaluation system that uses computational algorithms to analyze source code quality metrics, thereby reducing time consumption while maintaining assessment accuracy through systematic measurement of code properties

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The evaluation system performs self-assessment by automatically measuring quality metrics such as cyclomatic complexity, code duplication, and maintainability indices without requiring human intervention, enabling the software system to evaluate its own quality attributes

Inventive Principle:
Principle #25Self-service

2Reliability

If manual expert review is performed, then reliability of quality assessment is improved, but productivity decreases due to time consumption

Engineering Contradiction:
Improvequality assessment reliabilityVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent substitutes manual review processes with automated computational tools that consistently apply predefined quality metrics and measurement algorithms, ensuring reliable and reproducible quality assessments while eliminating the time bottleneck that limits development productivity

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If quality metrics are used, then measurement precision is improved, but device complexity increases due to dependence on technological boundary conditions

Engineering Contradiction:
Improvequality metric accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent adapts quality measurement parameters to be independent of specific technological boundary conditions by using normalized metrics and relative comparisons, allowing the same evaluation framework to assess code quality across different system configurations without increasing complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The evaluation system is designed with universal quality metrics that can assess multiple software quality attributes (maintainability, intelligibility, complexity) using a single integrated framework, reducing device complexity by consolidating multiple measurement approaches into one unified system

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8037455B2Method and device for the automated evaluation of software source code quality
Publication Date: 2011.10.11 SIEMENS AG
  • US8037455B2 patent drawing
  • US8037455B2 patent drawing

AI summary

A method and a device are disclosed for automated evaluation of the quality of a software source code, a quality target being predetermined for the quality of the source code. The current quality of the source code and the distance between the current quality of the source code and the predetermined quality target are determined for the quality of the source code. At least one embodiment of the invention permits high volumes of source code to be evaluated in an automated fashion with respect to their quality.