Software Code Quality Assessment with Coverage Determination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for assessing software code quality are time-consuming and costly, with manual assessments being unreliable and complex, and automated solutions providing limited actionable insights for improving code quality, failing to prioritize improvements effectively within budget constraints.

Innovation Solution

A method and apparatus that perform static code analysis using predefined rules and metrics, assess rule infringements, aggregate results based on a quality aspect hierarchy, and determine an assessment coverage factor, outputting actionable corrective actions prioritized by effort and severity, enabling efficient quality improvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual quality assessment is performed, then comprehensive quality analysis can be achieved, but time consumption and cost increase significantly

Engineering Contradiction:
Improvequality assessment comprehensivenessVSAvoidassessment time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the quality assessment process into multiple independent quality aspects (e.g., correctness, maintainability, performance) that can be evaluated separately through automated analysis. Each aspect is assessed independently and then aggregated, allowing comprehensive evaluation without requiring complete manual review of all code elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary automated analysis system that bridges manual assessment comprehensiveness and automated efficiency. This system uses predefined rules and metrics to objectively evaluate code quality across multiple aspects, providing structured results that can be further refined if needed without requiring full manual intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated static code analysis is used, then assessment time is reduced, but the depth and reliability of quality insights are limited

Engineering Contradiction:
Improveassessment efficiencyVSAvoidquality insight depth
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent extends automated analysis from traditional single-dimension metrics to multi-dimensional quality assessment by evaluating multiple independent quality aspects simultaneously. This dimensional expansion allows automated tools to provide deeper, more comprehensive insights without increasing time consumption, as all aspects are assessed in parallel through the structured framework.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent changes the parameters of automated analysis by introducing multiple quality aspect dimensions and using aggregation functions to combine results. This transforms the output from simple metric lists to comprehensive quality assessments with prioritized improvement suggestions, enhancing insight depth while maintaining automated efficiency.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If comprehensive quality metrics are collected, then complete quality picture is obtained, but complexity of analyzing and prioritizing improvements increases

Engineering Contradiction:
Improvequality information completenessVSAvoidanalysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments comprehensive quality information into distinct quality aspects, each with its own metrics and evaluation criteria. This segmentation organizes the complete quality picture into manageable, independently analyzable components, reducing the complexity of processing and prioritizing improvements while maintaining information completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality assessment by evaluating specific quality aspects (such as correctness, maintainability, performance) separately rather than treating all quality metrics uniformly. This allows targeted analysis and prioritization of improvements for each aspect based on its specific importance and current state, simplifying the overall decision-making process.

Inventive Principle:
Principle #3Local quality

4Reliability

If all identified rule infringements are addressed, then maximum quality improvement is achieved, but effort and cost may exceed budget constraints

Engineering Contradiction:
Improvequality improvement effectivenessVSAvoidrectification effort
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by identifying and prioritizing the most critical quality improvements rather than addressing all rule infringements equally. The aggregation and prioritization mechanisms determine which quality aspects and specific infringements should be addressed first based on their impact on overall quality and effort requirements, enabling effective improvement within budget constraints.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the approach from addressing all infringements uniformly to prioritizing based on quality aspect importance and effort requirements. By introducing prioritization parameters and using aggregation functions, the system identifies the subset of improvements that provide maximum quality gain for minimum effort, optimizing the balance between effectiveness and resource consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9311218B2Method and apparatus for the determination of a quality assessment of a software code with determination of the assessment coverage
Publication Date: 2016.04.12 SIEMENS AG
  • US9311218B2 patent drawing
  • US9311218B2 patent drawing
  • US9311218B2 patent drawing

AI summary

In a method for determining a quality assessment of a software code, the coverage is concomitantly calculated when determining the assessment. In order to increase the coverage, additional measurement results and assessments may be taken into account. Following changes to the software base, it is determined which of the additional measurements and assessment results should be renewed in order to provide or ensure the defined coverage.