Object-Oriented Regression Filter for Software Build Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Object-oriented software development poses challenges in identifying the root cause of software faults due to the complexity of interactions between objects, leading to inefficient testing and potential misidentification of fault sources.
Innovation Solution
An object-oriented regression-candidate filter is employed to detect modifications in a software build, identify affected objects, generate and execute relevant tests, and compare results to previous tests to determine the operational status of the modification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software testing methods are used to test all objects in a software build, then comprehensive fault detection is achieved, but testing time and resources are significantly increased
Solution Approach 1:
The patent segments the software build into individual objects and further segments the testing process by identifying only those objects affected by modifications. Instead of testing all objects in the software build, the system divides the testing scope to include only modified objects and their dependent objects, thereby reducing testing time while maintaining fault detection accuracy.
Solution Approach 2:
The patent applies partial action by executing tests only on the subset of objects that are actually affected by modifications, rather than performing exhaustive testing on all objects. This partial testing approach is sufficient to detect faults introduced by modifications without the overhead of complete software build testing.
2Reliability
If comprehensive testing of all software objects is performed, then all potential faults are detected, but the complexity of the testing process increases
Solution Approach 1:
The testing process is segmented into distinct phases: identifying modified objects, determining dependent objects, selecting relevant test cases, and executing tests only on the affected subset. This segmentation simplifies the overall testing process complexity while maintaining comprehensive fault detection for modified portions.
Solution Approach 2:
The system performs preliminary analysis to identify modified objects and their dependencies before executing tests. This preliminary action includes analyzing the software build structure, tracking object relationships, and pre-determining which test cases are relevant, thereby reducing the complexity of the actual test execution phase.
3Reliability
If the entire software build is tested after each modification, then all faults are detected, but testing efficiency decreases
Solution Approach 1:
The patent implements partial testing by identifying and testing only the subset of objects affected by modifications. This approach maintains fault detection accuracy for modified portions while significantly improving testing efficiency by avoiding redundant testing of unchanged objects.
Solution Approach 2:
The testing scope dynamically adjusts based on the modifications made to the software build. The system continuously analyzes which objects are affected and automatically adjusts the test execution scope, making the testing process adaptive and efficient rather than static and exhaustive.
4Adaptability or versatility
If object-oriented software development is used to enable modular design and reuse, then software flexibility improves, but identifying the root cause of faults becomes more difficult
Solution Approach 1:
The patent segments the software into distinct objects with defined relationships, and similarly segments the fault detection process by identifying which specific objects are affected by modifications. This segmentation approach maintains the modular benefits of object-oriented design while improving fault identification by isolating affected objects rather than searching through the entire software system.
Solution Approach 2:
The system introduces an intermediary analysis layer that tracks object relationships and dependencies. This intermediary mechanism analyzes the impact of modifications through the object hierarchy, serving as a mediator between the modified object and potential fault locations, thereby simplifying root cause identification in complex object-oriented systems.
Data Source
AI summary
Methods and systems are disclosed providing an object-oriented regression-candidate filter to improve software build testing. A modification to a current software build may be detected. A set of objects of the current software build that are affected by the modification may be identified. A modification to a previous software build that affected a subset of the set of objects may be identified. A set of tests may be generated to include one or more tests previously executed to test the modification to the previous software build. The set of tests may be executed to test the current software build. A result of the set of tests may be compared to one or more previous test results. Based on the comparison, the modification to the current software build may be verified as operational.


