Static Analysis System for Source Code Developer Quality Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current static analysis systems lack the ability to effectively attribute and visualize the productivity and quality of source code developers by tracking changes in coding violations over time, making it difficult to identify and improve team performance and code quality.

Innovation Solution

A static analysis system generates interactive user interface presentations that attribute coding violations to responsible entities by comparing snapshots of source code, calculating metrics such as churn and net new violations, and displaying these metrics in a graphical format to provide insights into developer productivity and quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If static analysis is performed on source code to identify violations, then code quality can be improved, but the ability to attribute and visualize developer productivity and quality remains insufficient

Engineering Contradiction:
Improvecode qualityVSAvoiddeveloper performance information
Core Design Contradiction:
Manufacturing precisionVSLoss of information

Solution Approach 1:

The patent segments the overall code analysis process into distinct components: violation detection, violation attribution to specific developers, and visualization of developer metrics. This segmentation allows the system to not only detect code violations but also track which developers introduced or removed them, thereby preserving developer performance information while improving code quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms by visualizing developer performance metrics (such as violations introduced vs. violations removed) in interactive presentations. This feedback loop allows managers to assess developer quality contributions and make informed decisions about team composition and training, thus preventing loss of performance information while maintaining code quality improvements.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If detailed tracking of violation changes is implemented, then developer quality metrics can be computed, but system complexity increases

Engineering Contradiction:
Improvedeveloper quality metricVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for developer quality assessment: the count of violations introduced and violations removed by each developer. By taking out only these critical metrics rather than tracking all possible code attributes, the system achieves precise developer quality measurement without excessive complexity in the analysis infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameters being measured from detailed code-level metrics to aggregated developer-level metrics (violations introduced, violations removed). This parameter transformation simplifies the data structure and computation requirements while maintaining measurement precision for developer quality assessment.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If interactive visualizations of developer metrics are provided, then team performance insights are improved, but information processing requirements increase

Engineering Contradiction:
Improveperformance insightVSAvoidcomputational resource
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by providing visualizations for only the most relevant developer metrics (violations introduced and removed) rather than computing and displaying all possible code analysis metrics. This selective approach delivers valuable performance insights while minimizing computational resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent creates simplified visual representations (graphs and charts) that copy and display key performance data in an easily interpretable format. These visual copies allow users to quickly grasp team performance trends without the system needing to process and manage the full complexity of the underlying detailed violation data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9766884B1Computing quality metrics of source code developers
Publication Date: 2017.09.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9766884B1 patent drawing
  • US9766884B1 patent drawing
  • US9766884B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for evaluating source code developers. One of the methods includes receiving, from a user, a request for a user interface presentation representing an overall performance metric versus a second metric attributed to each responsible entity of a plurality of responsible entities that contributed source code to a project. A user interface presentation is generated, wherein each responsible entity is represented by a graphical element at a position in a display area, the position of the element having one coordinate corresponding to the first measure of the overall contributions contributed by the responsible entity and another coordinate corresponding to the second measure of the second metric attributed to the responsible entity.