Codebase Insight Generation and Commit Attribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems fail to effectively attribute and address code misbehaviors in developer contributions, leading to potential issues like memory leaks and undesirable changes in codebases, which are not efficiently identified or corrected.

Innovation Solution

A system utilizing static analysis tools, abstract syntax trees, and a dashboard to identify and attribute misbehaviors, providing insights and recommendations at developer, team, and organizational levels, with tools like BHive and CodeFix for code analysis and commit attribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static analysis tools are used to identify misbehaviors, then code quality is improved, but analysis time and computational resources increase

Engineering Contradiction:
Improvecode qualityVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs static analysis of code commits before they are merged into the main codebase. By identifying misbehaviors in advance (memory leaks, security vulnerabilities, code decay), the system prevents these issues from affecting production code, thereby improving code quality without requiring extensive analysis time during deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and isolates specific misbehaving code segments from the larger codebase using abstract syntax trees. This allows targeted analysis of only the problematic portions rather than analyzing the entire codebase, reducing computational resources and analysis time while maintaining comprehensive quality checking.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If commit attribution is performed to identify responsible developers, then accountability is improved, but developer productivity and morale may deteriorate

Engineering Contradiction:
ImproveaccountabilityVSAvoiddeveloper productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system provides developers with feedback about their code quality through the dashboard, showing metrics on misbehaviors introduced in their commits. This constructive feedback loop helps developers understand their impact without direct blame, enabling them to improve their coding practices while maintaining productivity and morale.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary layer (the analysis system and dashboard) between developers and the codebase. This intermediary automatically identifies and attributes misbehaviors without requiring direct human judgment or confrontation, maintaining accountability while protecting developer morale and productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If comprehensive code analysis is performed to detect all misbehaviors, then code integrity is improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvecode integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the codebase into individual commits and uses abstract syntax trees to analyze each commit independently. This segmentation allows comprehensive integrity checking while managing complexity through modular analysis units that can be processed in parallel, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of code representation from raw source code to abstract syntax trees. This transformation enables more efficient and comprehensive analysis by representing code in a normalized, machine-friendly format that simplifies detection of misbehaviors like memory leaks and security vulnerabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11948118B1Codebase insight generation and commit attribution, analysis, and visualization technology
Publication Date: 2024.04.02 DEVFACTORY INNOVATIONS FZ LLC
  • US11948118B1 patent drawing
  • US11948118B1 patent drawing
  • US11948118B1 patent drawing

AI summary

A method and system include code analysis and visualization technology. The method and system include (i) a repository that stores developer code in a codebase to which many developers and developer teams contribute code over time, (ii) one or more static analysis tools that identify misbehaviors in the codebase from a list of predetermined misbehaviors, (iii) a database that includes each commit that each developer performed on the codebase for a predetermined period of time, (iv) a code attribution tool that employs abstract syntax trees to determine if each commit that a particular developer performs resulted in breaking the code or impairing the code, or results in a failure to correct the code, or if clean code results, and (v) a dashboard tool that enables visualization at different levels of commits with misbehaviors over a predetermined period of time.