Vulnerability Attribution via Version Control Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vulnerability assessment methods for software applications fail to effectively attribute defects and remediations to specific developers, especially in large software systems developed by multiple contributors, leading to inefficiencies in identifying and improving code quality.

Innovation Solution

A method and system that correlate source code information with developer actions in a repository to attribute vulnerabilities to individual developers, using static and dynamic analysis reports, and compute statistics on defect introduction and remediation rates over time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If static and dynamic analysis techniques are used to detect vulnerabilities in software applications, then the ability to identify defects is improved, but the capability to attribute defects to specific developers deteriorates

Engineering Contradiction:
Improvedefect detection accuracyVSAvoiddeveloper attribution information
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent segments the vulnerability analysis process into two distinct components: (1) static and dynamic analysis for defect detection, and (2) separate developer attribution through version control integration. This segmentation allows each component to specialize - analysis tools focus on detecting defects while version control systems handle developer identification, resolving the contradiction between detection accuracy and attribution capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces version control system information as an intermediary between vulnerability detection and developer attribution. Instead of trying to make analysis tools directly identify developers, the system uses version control metadata (commit histories, author information) as a mediator to bridge the gap between detected vulnerabilities and the developers who introduced them

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If source code analysis is performed to identify vulnerabilities, then the quality of defect detection is improved, but the complexity of the analysis system increases

Engineering Contradiction:
Improvesoftware quality assessmentVSAvoidanalysis system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the version control system multi-functional by having it serve both its traditional purpose (code versioning and collaboration) and the additional function of providing attribution data for vulnerability analysis. This universality eliminates the need for separate tracking systems, improving software quality assessment without proportionally increasing system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses existing version control infrastructure to automatically provide developer attribution information without requiring additional manual tracking or complex external systems. The version control system essentially serves itself by providing its metadata (commit authors, timestamps) to the vulnerability attribution process, reducing overall system complexity

Inventive Principle:
Principle #25Self-service

3Productivity

If developer attribution of vulnerabilities is implemented, then the ability to track and improve code quality is improved, but the difficulty of analyzing and processing data increases

Engineering Contradiction:
Improvecode quality improvement efficiencyVSAvoiddata analysis complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent performs preliminary action by collecting and storing version control information (developer identities, commit timestamps, code changes) in advance, before vulnerability analysis is conducted. This pre-prepared data structure simplifies subsequent analysis, as the attribution framework is already in place when vulnerabilities are detected, reducing the difficulty of processing and analyzing the combined data

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10275601B2Flaw attribution and correlation
Publication Date: 2019.04.30 VERACODE INC
  • US10275601B2 patent drawing
  • US10275601B2 patent drawing
  • US10275601B2 patent drawing

AI summary

In a system for attributing one or more vulnerabilities in a software application to one or more developers, information identifying the source of a vulnerability is obtained from a vulnerability report. From a repository, developer-related information associated with the identified source is obtained. One or more developers are selected from the developer-related information according to one or more specified rules, and the defect is attributed to the selected developer(s). Attribution of the defect may indicate that the developer(s) contributed to introduction of the defect or to remedying the defect.