Code Management System Defect Detection via Classifier Intersection
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If code merging is performed without defect detection, then the productivity is improved, but the reliability deteriorates due to introduced defects
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
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
Data Source
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.

