Entry Point Table Substitution for Software Defect Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Locating defects in new versions of complex software applications is challenging due to their large size and modular architecture, making it difficult for developers to identify and correct errors efficiently, especially when updates introduce changes, additions, or deletions in programming code.
Innovation Solution
A method that generates entry point tables for both new and golden versions of software programs, allowing for prioritized substitutions of procedures to isolate defects by replacing modules and procedures based on calculated priority values, using a substitution methodology that iteratively narrows down the defect scope until the responsible procedure is identified.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If developers manually search through large complex software applications to locate defects, then they can identify and correct errors, but the time and resources required increase significantly
Solution Approach 1:
The patent segments the software application into modules and procedures, creating a hierarchical structure that can be systematically analyzed. By dividing the large complex codebase into smaller manageable units (modules containing procedures), the system can isolate defects to specific segments rather than searching through the entire application, thereby reducing debugging time while maintaining accurate defect location.
Solution Approach 2:
The patent performs preliminary actions by generating entry point tables and calculating priority values for modules and procedures before the actual defect search begins. This pre-processing establishes a structured framework with pre-computed metrics that guide the subsequent defect localization process, eliminating the need for time-consuming manual exploration during debugging.
2Reliability
If developers search through all modules and procedures to find defects, then they can ensure comprehensive coverage, but the complexity of the debugging process increases
Solution Approach 1:
The patent introduces priority values as a new parameter that quantifies the likelihood of each module or procedure containing a defect. By calculating and utilizing this parameter, the system transforms the debugging process from a brute-force search through all components to a targeted search based on priority rankings, thereby maintaining comprehensive defect detection while reducing process complexity through automated prioritization.
Solution Approach 2:
The patent implements feedback mechanisms where the system tests modules and procedures in priority order, observes whether defects are reproduced, and uses this information to refine the search. This feedback loop allows the system to adaptively narrow down the defect location based on actual test results, ensuring comprehensive coverage of problematic areas while avoiding unnecessary examination of low-priority components.
3Productivity
If systematic substitution of modules and procedures is performed to locate defects, then defect scope is narrowed efficiently, but the computational resources required increase
Solution Approach 1:
The patent applies partial action by performing systematic substitution only on the subset of modules and procedures that have high priority values, rather than exhaustively testing all components. By focusing computational resources on the most likely candidates for containing defects (those with highest priority values), the system achieves efficient defect location speed while avoiding the excessive computational cost of analyzing every module and procedure in the application.
Data Source
AI summary
Source code of a golden version and a next version of a program is received in which procedure calls are modified to call from an entry point table (EPT) with index numbers corresponding to procedure memory addresses. An executable defect-free golden version program and next version program with a defect are received. A first entry point table (first EPT) for the new version program and a second EPT for the golden version program are generated. A series of substitutions of procedures from the second EPT to the first EPT is performed and an order of substitutions includes: a module set, a module of the module set, a procedure set of the module, and a procedure of the procedure set. The defect producing procedure is identified by substituting in order until the defect is absent and proceeding to the next substitution in order.


