Program Analysis Engine Using Manifest Descriptors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing runtime environments face challenges in performing comprehensive analysis of programs authored in multiple languages and distributed across various data formats, especially those relying on dynamic code execution, as they struggle to understand application components, dependencies, and runtime behaviors effectively.

Innovation Solution

A program analysis engine is developed that includes a program acquisition component to obtain programs described in a manifest, initiating a multi-pass analysis of application content based on descriptive information, supporting multiple languages and data formats, and providing results through a results component.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If comprehensive analysis of distributed programs in multiple languages is performed, then understanding of application components and dependencies is improved, but analysis complexity and resource requirements increase

Engineering Contradiction:
Improveunderstanding of application componentsVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces manifest files as intermediary descriptors that bridge the gap between diverse program components and the analysis system. These manifests provide standardized metadata about application components, dependencies, and runtime behaviors, allowing the analysis engine to understand complex distributed programs without directly parsing every language and format, thus reducing analysis system complexity while maintaining measurement precision

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The analysis system is segmented into specialized components: a program acquisition component for obtaining manifests, a program analysis component for processing, and a results component for output. This segmentation allows each component to handle specific tasks efficiently, managing the overall complexity of analyzing multi-language distributed programs

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If multi-pass analysis of application content is initiated, then analysis thoroughness is improved, but analysis time increases

Engineering Contradiction:
Improveanalysis thoroughnessVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by first acquiring and parsing manifest files to obtain application descriptive information before conducting the actual analysis. This preliminary step organizes the analysis targets and dependencies, enabling subsequent multi-pass analysis to be more efficient and focused, reducing overall analysis time while maintaining thoroughness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements multi-pass analysis as periodic action sequences, where different analysis passes are executed in sequence on the organized application content. This structured periodic approach ensures thorough analysis coverage while managing time consumption through systematic progression through multiple analysis stages

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9875090B2Program analysis based on program descriptors
Publication Date: 2018.01.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9875090B2 patent drawing
  • US9875090B2 patent drawing
  • US9875090B2 patent drawing

AI summary

A deployment package descriptor may be obtained. One or more application files that include application content in a plurality of different data formats may be obtained. An analysis of the application content included in the obtained one or more application files may be initiated, based on a plurality of different data formats and descriptive information associated with the obtained application files, the descriptive information included in the obtained deployment package descriptor.