Source Code Correction Assistance via Evaluation Code Templates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for detecting and correcting software defects, especially in complex systems with many input parameters, often lead to delayed defect detection and correction due to the difficulty in comprehensively testing all combinations, resulting in potential long-term system stops or large-scale recalls, and manual correction processes are prone to errors.
Innovation Solution
A source code correction assistance apparatus and method that generates an evaluation code template with conditional branch sentences for each success or failure case of the input condition causing a defect, allowing an independent evaluator to review and automatically execute the evaluation code to ensure all control paths are tested, reducing the likelihood of correction errors and omissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If comprehensive testing of all input parameter combinations is performed, then defect detection capability is improved, but testing time and resources are excessively consumed due to combination explosion
Solution Approach 1:
The patent segments the testing process into two distinct phases: (1) pre-modification testing using existing test resources to detect defects before program changes, and (2) post-modification testing to verify corrections. This segmentation allows focused testing efforts without requiring exhaustive testing of all parameter combinations, thereby resolving the contradiction between comprehensive defect detection and excessive testing time.
Solution Approach 2:
The patent performs preliminary testing and defect detection before program modification by utilizing existing test resources and analyzing logs to identify defects in the original code. This preliminary action enables early defect detection without requiring comprehensive testing of all possible input combinations, thus reducing overall testing time while maintaining reliability.
2Ease of operation
If manual defect correction is performed, then correction flexibility is improved, but correction accuracy deteriorates due to human error and omissions
Solution Approach 1:
The patent implements a feedback mechanism where the testing system automatically verifies whether the applied correction actually resolves the detected defect. By feeding back the test results to confirm correction effectiveness, the system reduces human error and ensures correction accuracy while maintaining the flexibility of manual correction processes.
Solution Approach 2:
The system performs self-verification of corrections through automated testing, where the correction result is automatically evaluated against test cases to confirm defect resolution. This self-service capability reduces reliance on manual verification and minimizes human error in assessing correction accuracy.
3Loss of energy
If test resources are limited, then testing cost is reduced, but defect detection capability deteriorates due to inability to cover all scenarios
Solution Approach 1:
The patent applies partial action by focusing testing efforts on the most critical aspects: pre-modification testing using existing test resources to catch obvious defects, and post-modification testing to verify corrections. Rather than attempting exhaustive testing of all parameter combinations, the system performs targeted testing that achieves adequate defect detection capability with limited resources.
Data Source
AI summary
A source code correction assistance apparatus is configured to include a storage device that stores an updated source code, and an arithmetic operational device that generates, as an evaluation code template of the updated source code, a template including a conditional branch sentence related to each case of success or failure of an input condition, notifies an evaluator terminal of a request to create an evaluation code based on the template, controls an access to the updated source code by the evaluator, receives editing by the evaluator on the conditional branch sentence in the template, generates a list of input values for executing all control paths of the evaluation code after the editing, and generates an evaluation code driver that automatically executes the evaluation code by inputting the input value.


