Predictive Model for Software Defect Scoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern software systems, due to their increasing size and complexity, lack a reliable method to predict the health of their code bases before deployment, leading to inefficiencies in identifying and addressing defects post-deployment.
Innovation Solution
A predictive model is trained using aspects of previous development cycles, converting quantitative and qualitative development process data into numerical signals, which are used to generate a predicted defect score, allowing for proactive identification and mitigation of potential defects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software systems grow in size and complexity to meet functional requirements, then the system's capability and functionality improve, but the difficulty of detecting and measuring code health and predicting defects increases
Solution Approach 1:
The patent segments the complex software system into multiple measurable aspects including code churn, developer activity, commit frequency, and defect density. Each aspect is independently tracked and weighted to create a comprehensive code health prediction, making the measurement of complex systems manageable and systematic
Solution Approach 2:
The patent introduces an intermediary predictive model that acts as a mediator between raw development metrics and code health assessment. This model transforms complex, multi-dimensional development data into a simplified predicted defect score, enabling easier interpretation and actionability
2Adaptability or versatility
If software systems become more interconnected with other systems, then the system's integration capability improves, but the reliability of individual components becomes harder to maintain
Solution Approach 1:
The patent implements preliminary action by predicting code health issues before they manifest as actual defects. The system continuously monitors development metrics and generates predicted defect scores during the development phase, allowing teams to address potential issues before deployment and integration, thereby maintaining reliability despite increasing interconnectivity
3Measurement precision
If defect detection is performed after deployment, then the thoroughness of testing improves, but the loss of time for fixing defects increases
Solution Approach 1:
The patent performs defect prediction as a preliminary action during the development phase rather than after deployment. By analyzing development metrics and generating predicted defect scores before release, the system enables early identification of potential issues, allowing teams to fix defects while the code is still being developed, thereby reducing the time loss associated with post-deployment defect fixing
Data Source
AI summary
A defect level for a software application may be predicted by training a model using aspects of development processes from previous software applications as training data. Aspects of previous software development processes may be aggregated to form signal vectors for each deployed application. Defect scores calculated from actual defects in the deployed software applications may be paired with the corresponding development signal vectors. The signal vectors and calculated defect scores may act as training data and labels for a predictive model that uses lasso regression to generate a predicted defect score during the development process. A signal vector for a current development process may be updated in real time as the software is developed to update a predicted defect score and provide a subset of aspects in the signal vector that contribute most to the score such that actions may be taken to improve the score.


