Source Code Perspective Analysis via Dynamic Event Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging and analysis of complex software systems become unwieldy due to rigid, static tagging of source code, which becomes error-prone as code grows in size and complexity, and there is a need for efficient techniques to analyze and tag source code with dynamic and potentially unbounded perspectives without recompiling.
Innovation Solution
A compiler is configured to perform perspective analysis by determining and mapping analysis perspectives to event data generated by object code, allowing for dynamic definition and updating of perspectives without recompiling the source code, and enabling the display of source code portions exhibiting specific perspectives based on user input.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If static tagging with fixed classification is used, then ease of operation is improved, but adaptability deteriorates
Solution Approach 1:
The patent implements dynamic perspective definitions that allow analysis perspectives to be modified, added, or removed at runtime without recompiling the source code. The system maintains a mapping between dynamic perspective definitions and instrumented source code, enabling flexible adaptation to changing analysis requirements while preserving the ease of operation through automated instrumentation.
2Adaptability or versatility
If dynamic and unbounded tag space is allowed, then adaptability is improved, but device complexity deteriorates
Solution Approach 1:
The patent performs preliminary instrumentation of source code during compilation, embedding metadata and event generation capabilities into the compiled code. This preliminary action enables the system to handle dynamic perspectives at runtime without the complexity of managing tags manually, as the infrastructure is already in place to capture and classify events according to any defined perspective.
Solution Approach 2:
The system automatically manages the mapping between dynamic perspective definitions and instrumented source code portions. Rather than requiring manual management of complex tag mappings, the system self-services by automatically associating events with the appropriate perspectives based on the compiled metadata, reducing the complexity burden on users.
3Manufacturing precision
If static tagging is used, then manufacturing precision is improved, but loss of information deteriorates
Solution Approach 1:
The patent enables dynamic perspective definitions that can capture evolving behavioral patterns in the software system. By allowing perspectives to be modified and extended at runtime, the system maintains precise classification of events while also capturing dynamic behavior information that static tagging would miss, thus preventing information loss about system evolution.
Data Source
AI summary
Techniques to process a source code program include, by one or more processors, determining an analysis perspective is exhibited by one or more portions of the source code program based at least in part on processing the source code program and an analysis perspective definition collection. The techniques further include storing a mapping of the analysis perspective to event data that is generated by object code when executed by one or more processors of a target computing system, wherein the object code is associated with the one or more source code program portions that exhibit the analysis perspective.


