Source Code Position Mapping for Accurate Preprocessed-Code Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development tools struggle to accurately map information extracted from preprocessed source code back to the original source code with character-to-character accuracy, making it difficult to analyze and modify the original code effectively.

Innovation Solution

A mapping data structure is generated to map positions in virtual preprocessed source code to corresponding positions in the original source code, allowing for precise extraction and modification of code portions that satisfy specific conditions using a generative language model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire preprocessed source code is generated and analyzed, then comprehensive code analysis and modification capabilities are achieved, but memory consumption exceeds the limits of generative language models

Engineering Contradiction:
Improvecode analysis accuracyVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the source code into multiple segments or blocks, processing and analyzing each segment separately rather than loading the entire codebase into memory. This segmentation allows comprehensive analysis while keeping memory consumption within the limits of generative language models by handling manageable portions of code at a time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements iterative processing where the generative language model analyzes code in multiple passes, focusing on specific portions of the codebase in each iteration. This partial action approach allows the model to achieve comprehensive analysis capabilities through repeated focused processing rather than attempting to analyze all code simultaneously, thereby managing memory constraints effectively.

Inventive Principle:
Principle #16Partial or excessive action

2Extent of automation

If preprocessed source code is used for analysis, then automated tools can accurately understand code structure and logic, but mapping information back to original source code positions becomes complex and error-prone

Engineering Contradiction:
Improveautomated code analysisVSAvoidmapping complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent performs preliminary processing to create and store a mapping data structure that records the correspondence between preprocessed source code positions and original source code positions before conducting the main analysis. This preliminary action establishes a reference framework that simplifies subsequent mapping operations, allowing automated tools to accurately track and locate code positions without complex real-time calculations during analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a mapping data structure as an intermediary between the preprocessed source code and the original source code. This intermediary component stores and manages the position correspondence information, enabling automated analysis tools to work with preprocessed code while accurately mapping results back to original code positions without direct complex transformations between the two code representations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250306875A1Mapping of preprocessed source code to original source code
Publication Date: 2025.10.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250306875A1 patent drawing
  • US20250306875A1 patent drawing
  • US20250306875A1 patent drawing

AI summary

This document relates to software development. For instance, the disclosed techniques can generate a mapping data structure that maps positions in virtual preprocessed source code to corresponding positions in original source code, or, in some cases, a scratch memory region. The mapping data structure can be employed to extract portions of the original source code that satisfy certain conditions, such as having control flow statements, calling functions, or accessing specific data structures. In some cases, the extracted portions of the original source code can be modified using a generative language model.