Machine Learning Classifier for Software Error Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development processes face challenges in detecting coding errors, particularly those that are undetectable by regression tests, leading to productivity loss, customer data loss, revenue loss, and reputation damage.
Innovation Solution
A machine learning-based software classifier is developed to identify suspicious code sections by training on software error data sets, allowing for early detection of potential errors without executing the code and suggesting corrections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If regression tests are used to detect coding errors, then detectable errors can be identified, but undetectable errors remain unnoticed causing productivity loss and potential data loss
Solution Approach 1:
The patent introduces a machine learning classifier as an intermediary tool between traditional regression tests and code quality assessment. This classifier analyzes code changes and predicts potential errors, bridging the gap between what regression tests can detect and what actually represents software quality issues, including undetectable errors
2Reliability
If code changes are reviewed manually to detect errors, then coding mistakes can be identified, but productivity decreases due to time consumption
Solution Approach 1:
The patent replaces the mechanical manual review process with an automated machine learning-based classification system. The classifier automatically analyzes code changes, predicts errors, and provides feedback without requiring manual inspection, thereby maintaining high detection accuracy while significantly improving development productivity
3Reliability
If traditional error detection methods are used, then coding errors can be found after development, but development time increases and errors cause harm before detection
Solution Approach 1:
The patent implements preliminary error detection by analyzing code changes before they are fully integrated into the software. The machine learning classifier predicts potential errors in advance, allowing developers to fix issues during the development phase rather than after deployment, thus reducing both development time and the risk of errors causing harm
Data Source
AI summary
A computer-implemented method of detecting a likely software malfunction is provided. The method comprises collecting a plurality of software error data sets wherein each software error data set comprises a proposed code section containing an error and a corrected code section containing code changes that fixed the error in the proposed code section. The method further comprises training a computer-implemented algorithmic model using the collected software error data sets to devise a software code classifier for predicting a likely error in a code section, reviewing a section of code using the software code classifier, and identifying suspicious code in the reviewed section of code as containing a suspected error using the software code classifier.


