Static Analysis Artifact Normalization for Distributed Source Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static analysis systems face issues with redundant processing and incorrect data interpretation due to differing file paths in distributed build systems, leading to double counting and misinterpretation of navigation attributes in source code analysis.

Innovation Solution

Implementing a normalization process for file paths in static analysis systems to unify and aggregate analysis artifacts across different machines and working directories, ensuring coherent and accurate data presentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If analysis artifacts are generated for files at different file paths in a distributed build system, then the system can process source code across multiple machines and working directories, but the same file may be analyzed multiple times with different paths leading to redundant processing and double counting

Engineering Contradiction:
Improveability to process files across distributed machines and directoriesVSAvoidcomputational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a file path normalization mechanism that acts as an intermediary between the distributed file paths and the analysis artifact generation process. By normalizing file paths to a common reference frame before generating analysis artifacts, the system eliminates redundant processing of the same file while maintaining the ability to operate across distributed machines and directories. The normalization process converts various file path representations (absolute paths, relative paths, paths with different case conventions) into a standardized form that enables duplicate detection and prevents double counting.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If analysis artifacts are generated using original file paths without normalization, then the system can maintain simple path representation, but properties in artifacts are double counted and navigation attributes are misinterpreted

Engineering Contradiction:
Improvesimplicity of path representationVSAvoidaccuracy of analysis data
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by normalizing file paths before the analysis artifact generation process begins. This pre-processing step ensures that all file paths are converted to a standardized representation upfront, preventing subsequent issues with double counting and navigation attribute misinterpretation. The normalization is performed once at the beginning of the analysis process, and the normalized paths are then used consistently throughout artifact generation, property aggregation, and navigation operations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the system processes files with different file path representations, then it can operate in distributed environments, but navigation information becomes incorrect and developers cannot properly navigate to variable definitions

Engineering Contradiction:
Improvedistributed system operationVSAvoidnavigation functionality
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies homogeneity by ensuring that all file paths used in analysis artifacts and navigation operations are represented in a uniform, normalized form. This standardization enables consistent navigation behavior across distributed machines and working directories. When a developer clicks on a navigation link in the analysis results, the normalized path ensures that the correct file location is resolved regardless of which machine or working directory the analysis was originally performed on, thereby maintaining ease of operation in distributed environments.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS9507694B1Artifact normalization
Publication Date: 2016.11.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9507694B1 patent drawing
  • US9507694B1 patent drawing
  • US9507694B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating normalized analysis artifacts for a source code base. One of the methods includes receiving a request to perform an analysis of a collection of source code files in a particular file system, wherein each source code file in the particular file system has a respective associated original file path. One or more normalized analysis artifacts are generated for the collection of source code files, including applying a file path transformation function to the original file path of each source code file referenced by the analysis artifacts to generate a normalized file path for the source code file, wherein each reference in the normalized analysis artifacts to a particular source code file uses the normalized file path for the particular source code file instead of the original file path for the particular source code file.