Prioritized Code Location List for Fault Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods often fail to efficiently focus resources on fault-prone code locations, leading to suboptimal testing, reviewing, and debugging processes due to the lack of effective prioritization based on change history and coverage information.
Innovation Solution
A method that utilizes a prioritization processor to assign priorities to software code locations based on change information and coverage metrics, producing a prioritized list that directs user attention to areas most likely to contain bugs, thereby optimizing testing, reviewing, or debugging efforts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software testing resources are distributed uniformly across all code locations, then coverage is comprehensive, but testing efficiency is low due to inability to focus on fault-prone areas
Solution Approach 1:
The patent applies local quality by assigning different priority levels to different code locations based on their change history and fault propensity. Instead of uniform testing coverage, the system identifies specific high-risk locations (those with frequent changes or historical faults) and concentrates testing resources there, while reducing coverage in low-risk areas. This resolves the contradiction by making testing effort proportional to local fault risk.
Solution Approach 2:
The patent changes the parameter of resource allocation from uniform distribution to priority-based distribution. By introducing priority metrics derived from change history analysis, the system dynamically adjusts where testing resources are applied, transforming the static uniform coverage approach into a dynamic risk-proportional approach that improves both efficiency and precision.
2Reliability
If comprehensive code review is performed on all code locations, then fault detection is thorough, but time consumption increases significantly
Solution Approach 1:
The patent extracts and identifies the critical subset of code locations that are most likely to contain faults based on change history analysis. Instead of reviewing all code, the system isolates high-priority locations (those with recent changes, frequent modifications, or historical fault patterns) and directs review efforts exclusively to these extracted regions, thereby maintaining thorough fault detection while dramatically reducing review time.
Solution Approach 2:
The patent applies partial action by performing comprehensive review only on the necessary portion of code (high-priority locations) rather than the entire codebase. The change history analysis identifies approximately 20-30% of code locations that are responsible for the majority of faults, allowing reviewers to apply excessive scrutiny to this partial set while accepting reduced coverage in low-risk areas, thus achieving high reliability with reduced time investment.
3Reliability
If debugging efforts are spread across the entire codebase, then all potential faults are addressed, but resource utilization is inefficient
Solution Approach 1:
The patent performs preliminary action by analyzing change history before debugging begins. The system pre-identifies high-risk code locations based on patterns of frequent changes, recent modifications, or historical fault data. This preliminary prioritization allows debugging resources to be pre-positioned at the most critical locations, ensuring that when debugging occurs, resources are immediately focused on the areas most likely to contain faults, thereby improving both fault coverage and resource efficiency.
Data Source
AI summary
A method for software processing includes obtaining change information, which records changes that have been performed in respective locations in software code. The change information is processed so as to assign to at least some of the locations respective priorities, which are indicative of respective likelihoods that the locations contain program faults. The at least some of the locations are presented to a user in accordance with the assigned priorities.


