Code Management System Defect Detection via Classifier Intersection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, existing code management systems lack effective methods for detecting and addressing defects in software code before and after merging new or amended code, which can introduce performance issues, errors, and incompatibilities.

Innovation Solution

A computer-implemented method that extracts features from candidate code and existing code using predetermined metrics, processes them with disparate classifiers to identify defects, and selectively merges code based on identified defects, with a clustering method to categorize defects and trigger remediation processes as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple disparate classifiers are used to detect code defects, then the reliability of defect detection is improved, but the device complexity increases

Engineering Contradiction:
Improvedefect detection reliabilityVSAvoidclassification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The code defect detection system is divided into multiple independent classifiers, each specializing in detecting specific types of defects. This segmentation allows each classifier to focus on particular defect patterns, improving overall detection reliability while maintaining manageable complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The plurality of classifiers are integrated into a unified code management system that handles multiple defect types through a common framework. This multi-functional approach allows the system to detect various defect categories (syntax errors, logical errors, security vulnerabilities) using a single integrated platform, balancing reliability improvement with system complexity management

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

2Productivity

If code merging is performed without defect detection, then the productivity is improved, but the reliability deteriorates due to introduced defects

Engineering Contradiction:
Improvecode merging speedVSAvoidsoftware performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs defect detection on candidate code before it is merged into the main codebase. By conducting preliminary analysis using multiple classifiers, potential defects are identified and can be addressed before merging, ensuring that only validated code is integrated. This preliminary action maintains productivity by automating the detection process while preserving reliability through pre-merge validation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback about detected defects to the code merging process, enabling selective merging decisions. When defects are detected, the system can flag the candidate code for review or automatically reject the merge, creating a feedback loop that maintains code quality. This feedback mechanism ensures reliability without significantly impacting productivity, as the feedback is integrated into the existing merge workflow

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240168755A1Code management system updating
Publication Date: 2024.05.23 BRITISH TELECOM PLC
  • US20240168755A1 patent drawing
  • US20240168755A1 patent drawing

AI summary

A computer implemented method of updating software code in a code management system, the method including receiving candidate code for merging with the code in the code management system; extracting each of a plurality of features of the candidate code, each feature being based on one or more predetermined metrics of the candidate code; processing at least a subset of the extracted features by each of a plurality of disparate classifiers, each classifier being trained by a supervised training method to identify one or more software code defects, such that each classifier identifies a set of features as indicative of a software code defect, wherein intersections between a predetermined number of the sets of features identified by the classifiers are indicated as prospective code defects; and selectively merging the candidate code with the code in the code management system based on the prospective code defects.