Deep Learning Software Defect Prediction at Commit Stage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods struggle to predict software defects in autonomous driving systems in a timely and effective manner, which is crucial for ensuring passenger safety due to the complexity and importance of these systems.
Innovation Solution
A timely software defect prediction method using deep learning, involving data collection, labeling, embedding, learning, and evaluation, utilizing algorithms like SZZ and Bi-LSTM models, and embedding models like UniXCoder to identify defects in edge computing applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional software defect prediction methods are used, then the system can identify defects, but the prediction timing is delayed and effectiveness is reduced
Solution Approach 1:
The patent applies preliminary action by performing defect prediction during the software development process itself, specifically at the commit stage. The system continuously monitors code changes and predicts potential defects in real-time, rather than waiting for later testing phases. This enables early detection while the defect is still being developed, significantly reducing the time loss and improving prediction effectiveness.
Solution Approach 2:
The patent implements feedback mechanisms where the deep learning model continuously learns from actual defect occurrences and adjusts its predictions. The system provides feedback to developers about potential defects in real-time, allowing immediate correction. This feedback loop significantly improves both the timing and effectiveness of defect prediction by adapting to evolving software characteristics.
2Reliability
If deep learning models are applied to predict software defects, then prediction effectiveness improves, but system complexity increases
Solution Approach 1:
The patent uses an intermediary approach by introducing a dedicated defect prediction module that sits between the code submission process and the development workflow. This module, powered by deep learning models like Bi-LSTM and Transformer, acts as a mediator that processes code changes and provides predictions without requiring complete redesign of the entire development system. The intermediary layer manages complexity while improving effectiveness.
Solution Approach 2:
The patent segments the defect prediction system into distinct functional components: data collection module, data labeling module, embedding module, and prediction module. Each component handles specific tasks independently, making the overall complex deep learning system more manageable and easier to integrate. The segmentation allows the system to achieve high prediction effectiveness while controlling complexity through modular architecture.
3Measurement precision
If comprehensive data collection and labeling algorithms are used, then prediction accuracy improves, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-processing and labeling data during the development process itself. The system automatically labels code changes as potential defects in real-time as they are submitted, rather than requiring extensive post-collection labeling. This preliminary labeling action significantly reduces the time needed for accurate prediction while maintaining high measurement precision through automated identification algorithms.
Solution Approach 2:
The patent implements self-service by enabling the system to automatically collect, label, and process its own training data without requiring manual intervention. The deep learning models automatically learn from code changes and commit messages, performing their own data preparation and feature extraction. This self-service capability maintains high prediction accuracy while dramatically reducing processing time compared to manual data preparation methods.
Data Source
AI summary
A timely software defect prediction method provided herein includes a data collection step of collecting data, a data labeling step of labeling data with a possibility of generating a defect by using an identification algorithm for the collected data, an embedding step of receiving the labeled data and embedding the labeled data, a learning step of learning context and meaning of the data embedded in the embedding step based on deep learning, and an evaluation step of evaluating a learning result based on the context and meaning of the data learned in the learning step.


