Comparing Software Projects Using Overlapping Analysis Criteria

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static analysis of software projects becomes inequitable when conducted at different times using varying evaluation criteria, leading to difficulties in comparing and assessing project quality over time.

Innovation Solution

A system that stores and compares source code analysis results based on a common set of overlapping evaluation criteria, allowing for equitable comparison of software projects analyzed at different times, without the need for reanalysis, using a static analysis system with an analysis engine and assessment engine to generate and compute characteristic metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software projects are analyzed at different times using varying evaluation criteria, then the analysis reflects current standards and captures evolving best practices, but the comparison between projects becomes inequitable and unreliable

Engineering Contradiction:
Improveadaptability to evolving evaluation criteriaVSAvoidreliability of project comparison
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the evaluation criteria into two distinct sets: the criteria actually used when analyzing each individual project, and a synthetic common criteria set constructed by intersecting all individual criteria sets. This segmentation allows each project to be evaluated by its appropriate historical criteria while enabling equitable comparison through the common set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism - the common evaluation criteria set - that mediates between individually customized evaluation criteria. This intermediary enables fair comparison by providing a standardized basis while preserving the adaptability of individual project analyses through the stored association of original criteria with their results.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software projects are reanalyzed using a common set of criteria to enable equitable comparison, then comparison reliability improves, but the time and processing resources required increase significantly

Engineering Contradiction:
Improvereliability of project comparisonVSAvoidanalysis efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by storing the evaluation criteria sets used for each project analysis alongside the analysis results. This preliminary documentation of criteria enables future equitable comparisons without requiring reanalysis, as the stored results can be directly compared when they share common criteria.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a synthetic copy of evaluation results by identifying and extracting the common criteria subset from each project's original criteria set. This copying approach allows equitable comparison using existing analysis data rather than creating new analysis through reevaluation.

Inventive Principle:
Principle #26Copying

3Productivity

If only the original analysis results are used for comparison, then processing resources are conserved, but the comparison becomes inaccurate when criteria have changed

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidaccuracy of project assessment
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements a dynamic comparison approach that adapts to the criteria used for each project. By identifying the intersection of criteria sets, the system dynamically determines which projects can be fairly compared and generates appropriate assessments, rather than applying a static one-size-fits-all comparison method.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of comparison by selectively applying different criteria subsets to different project comparisons. When projects share common criteria, those criteria are used for direct comparison; when they don't share criteria, the system generates appropriate assessments based on the available data, adjusting the comparison parameters to match the input data characteristics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10346294B2Comparing software projects having been analyzed using different criteria
Publication Date: 2019.07.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10346294B2 patent drawing
  • US10346294B2 patent drawing
  • US10346294B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for comparing software projects having been analyzed using different criteria. One of the methods includes receiving, for each of a plurality of software projects, source code evaluation criteria that had been used to analyze source code of the respective software project. An overlapping set of source code evaluation criteria is determined. For each of the software projects, source code analysis results which resulted from the overlapping set of source code evaluation criteria are determined, and a respective value of a characteristic metric for the source code analysis results is computed. The respective values of the characteristic metric for each of the software projects are compared, and for at least one of the software projects, an assessment of the software project is output.