Metadata Tables for Exact Source Code Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

No known approach enables the exact mapping of source code to dynamic analysis information collected during automated instrumentation of computer programs, which is crucial for determining runtime behavior characteristics.

Innovation Solution

Metadata tables are used to link instrumentation information collected during runtime to programming language constructs in the source code, allowing for exact mapping by correlating instrumentation points with document and analysis tables during compilation and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated instrumentation is used to collect dynamic analysis information, then productivity is improved, but measurement precision deteriorates because exact mapping to source code locations is lost

Engineering Contradiction:
Improveautomation of instrumentationVSAvoidmapping accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by embedding metadata tables during compilation that pre-establish the mapping between instrumentation points and source code locations. This allows automated runtime collection to be accurately correlated with specific source code locations without manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Metadata tables serve as an intermediary structure that bridges the automated instrumentation data collected at runtime with the original source code locations. The metadata contains document tables and analysis tables that enable precise mapping without requiring manual correlation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If manual instrumentation is used to achieve exact mapping, then measurement precision is improved, but device complexity increases due to manual intervention requirements

Engineering Contradiction:
Improvemapping accuracyVSAvoidinstrumentation process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The compilation process automatically generates and embeds the necessary metadata tables that enable self-service mapping between instrumentation points and source code locations. This eliminates the need for manual instrumentation while maintaining exact mapping precision through automated metadata generation.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If metadata tables are embedded during compilation, then measurement precision is improved through exact mapping, but device complexity increases due to additional data structures

Engineering Contradiction:
Improvemapping accuracyVSAvoiddata structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The metadata tables are merged into the compiled binary output during the compilation process. By combining the metadata generation and embedding steps into the existing compilation workflow, the system adds mapping capability without requiring separate complex infrastructure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10642714B2Mapping dynamic analysis data to source code
Publication Date: 2020.05.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10642714B2 patent drawing
  • US10642714B2 patent drawing
  • US10642714B2 patent drawing

AI summary

Metadata tables can provide the link between the instrumentation information collected and the location in the source code of the programming language construct that was instrumented. The metadata tables enable the relationship between the programming construct in the source code and the dynamic analysis information collected to be exact rather than an estimate. During compilation information is collected that enables a mapping between document table and analysis table to occur.