Software Test Prediction Using Multi-Target Entropy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software development, existing methods are inefficient in predicting test cases to run based on file changes and identifying files to modify for fixing test failures, especially in large complex systems, as they rely on costly code coverage infrastructure and do not effectively capture complex dependencies between code areas.
Innovation Solution
An automated method using multi-target entropy calculations based on historical data from file changes, build information, and test results to predict test cases to run and files to change, leveraging a database that links code changes with build and failure information, and applying this infrastructure for both predicting test cases and identifying files to fix test failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If code coverage infrastructure is used to predict test cases based on file changes, then test case prediction accuracy is improved, but system complexity and cost increase
Solution Approach 1:
The patent extracts only the essential historical data elements (file changes, test results, build information) needed for prediction, storing them in a database without implementing full code coverage infrastructure. This selective extraction maintains prediction accuracy while reducing system complexity by eliminating unnecessary components.
Solution Approach 2:
The patent uses lightweight data structures (matrices) and statistical calculations (entropy) that are computationally inexpensive compared to maintaining full code coverage infrastructure. The approach treats prediction data as transient information that can be processed and discarded after use, rather than maintaining persistent complex infrastructure.
2Reliability
If comprehensive testing is performed to ensure code quality, then product reliability is improved, but development time increases
Solution Approach 1:
The patent applies partial action by predicting and running only the subset of test cases most likely to be affected by file changes, rather than executing the complete test suite. This selective approach maintains code quality assurance while significantly reducing the time required for testing.
Solution Approach 2:
The patent performs preliminary analysis of historical data to predict which test cases are most relevant before actual testing begins. By pre-identifying the critical test subset based on file change patterns and historical correlations, the system prepares the minimal necessary test coverage in advance, reducing overall development time.
3Speed
If historical data analysis is used to predict file changes, then identification speed is improved, but data processing complexity increases
Solution Approach 1:
The patent replaces complex mechanical or algorithmic analysis systems with statistical calculations based on entropy. Instead of using sophisticated machine learning models or complex dependency analysis, the system uses probabilistic calculations on historical data patterns, which are computationally simpler and faster to execute.
Solution Approach 2:
The patent transforms complex qualitative relationships between files and test cases into quantitative parameters (entropy values, probability scores) that can be efficiently calculated and compared. By changing the representation from complex structural relationships to numerical parameters, the system achieves fast identification speed with simpler processing.
Data Source
AI summary
An automated method of making a prediction regarding development of a software product includes receiving code changes information, build information, and failure information related to the software product. Entries are stored in a database, wherein each entry links a subset of the code changes information with a subset of the build information and with a subset of the failure information. A first matrix and a second matrix are generated using the entries in the database. Multi-target entropy calculations are performed based on the first matrix and the second matrix. The prediction regarding the development of the software product is performed based on the multi-target entropy calculations.


