Software Project Similarity Grouping for Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the number of software development projects grows, visualizing their similarities through static analysis becomes increasingly incomprehensible, reducing usability for end users and requiring the processing and transmission of excessive data.

Innovation Solution

A system computes similarity groupings for software development projects based on analysis metrics such as snapshot and functionality metrics, allowing for focused comparisons and user interface presentations that rank and cluster similar projects, thereby simplifying data presentation and reducing data processing needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of projects to be compared is increased, then the comprehensiveness of analysis is improved, but the visualization becomes incomprehensible and usability deteriorates

Engineering Contradiction:
Improvecomprehensiveness of analysisVSAvoidusability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments the large set of projects into smaller similarity groups based on computed similarity metrics. Instead of presenting all projects in a single visualization, the system divides them into manageable clusters where each cluster contains projects with similar characteristics, making the visualization comprehensible while maintaining comprehensive analysis capability across multiple groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts a subset of most similar projects from the complete project set and presents them separately. By taking out the most relevant projects (those with highest similarity scores) and presenting them in a focused view, the system maintains comprehensiveness by preserving access to the full dataset while improving usability through selective presentation of the most pertinent comparisons.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If all projects are included in comparisons, then the completeness of data is improved, but the amount of data processing and transmission increases

Engineering Contradiction:
Improvecompleteness of dataVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary subset of projects (most similar ones) for detailed comparison and transmission to the user interface. By computing similarity metrics for all projects to maintain completeness, then extracting and transmitting only the relevant subset for actual comparison, the system preserves data completeness while significantly reducing processing and transmission overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial action by computing full similarity metrics for all projects (excessive computation) but only transmitting and displaying results for the most similar subset (partial transmission). This approach ensures completeness of analysis while optimizing productivity by avoiding unnecessary transmission and rendering of all project data.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11099843B2Determining similarity groupings for software development projects
Publication Date: 2021.08.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11099843B2 patent drawing
  • US11099843B2 patent drawing
  • US11099843B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating similarity groupings of software projects. One of the methods includes computing respective values for a plurality of analysis metrics associated with each software development project of a plurality of software development projects, wherein the analysis metrics include snapshot metrics that represent respective properties of the commit history of snapshots in the software development project, functionality metrics that represent respective properties of software elements in the software development project, or both. A similarity grouping is computed for the primary software development project based on the respective computed values for the plurality of analysis metrics for the plurality of software development projects, wherein the similarity grouping for the primary software development project comprises fewer than all of the plurality of software development projects.