Parallel Application Debugging for Code Path Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional debugging techniques require sequential testing of code paths, which is time-consuming and error-prone, especially during interactive debugging sessions.
Innovation Solution
Enabling parallel execution of applications during debugging by duplicating the running application for each unique variable value and allowing independent execution of these duplicates, thereby allowing developers to test multiple code paths simultaneously.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If sequential testing of code paths is used during debugging, then the debugging process can be performed with simple tools and procedures, but the time required for debugging increases significantly
Solution Approach 1:
The patent segments the debugging process by creating separate parallel execution paths for different code paths. Each code path is tested in its own independent execution context, allowing simultaneous debugging of multiple paths without interfering with each other. This segmentation enables parallel testing while maintaining manageable complexity through structured execution contexts.
Solution Approach 2:
The patent introduces a parallel execution dimension to traditional sequential debugging. By transitioning from single-threaded sequential execution to multi-threaded parallel execution, the system can test multiple code paths simultaneously. This dimensional change from 1D (sequential) to ND (parallel) execution space dramatically reduces debugging time while the debugger coordinates these parallel dimensions.
2Productivity
If sequential execution is used for testing multiple code paths, then the execution environment remains simple and controlled, but the number of test cases that can be executed increases time consumption
Solution Approach 1:
The patent merges multiple sequential test executions into a single parallel testing operation. By combining multiple code path tests into concurrent execution contexts, the system achieves higher testing throughput without proportionally increasing total testing time. The debugger coordinates and synchronizes these merged parallel executions to maintain test integrity.
Solution Approach 2:
The patent ensures continuous useful action by executing multiple test cases simultaneously rather than sequentially. While one code path is being tested, other code paths are tested in parallel, eliminating idle waiting time between tests. This continuous parallel execution maximizes productivity by keeping all testing resources actively utilized throughout the testing process.
Data Source
AI summary
An application debugger may define multiple unique initial states of execution for an application on behalf of a client. These unique initial states may include unique sets of application variable values. The application debugger may then create respective application runtimes initialized with the respective sets of application variable values. Then, the execution runtimes may be independently executed to a termination condition that may include a defined set of breakpoints, a normal termination or an abnormal termination. The application debugger may then receive termination state information from the respective execution runtimes, provide additional analysis of these termination states and report results to the client.


