Application Resource Verification via Manifest and Execution Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often fail to execute properly due to missing or incorrectly configured resources at the target environment, leading to potential software rollback and downtime, as existing methods rely on incomplete and error-prone manually created checklists that may not account for all necessary resources across different environments.

Innovation Solution

A computerized system and method for resource verification that generates a checklist by monitoring resource access during executable file execution and performing static code analysis, ensuring all required resources are accessible with the correct access types, thereby preventing software failures by automatically verifying resources before installation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manually created resource checklists are used for application installation verification, then the installation process is simple and quick, but the checklist is incomplete and error-prone, leading to resource verification failures and software rollback

Engineering Contradiction:
Improveresource verification accuracyVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary resource verification before application installation by automatically generating a comprehensive resource checklist from the application's manifest file and executing verification tasks against the target environment. This preliminary action ensures all required resources (services, executables, assemblies, registry keys, etc.) are present and accessible before installation, preventing verification failures and software rollback while maintaining installation simplicity through automation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification system uses the application's own manifest file and executable to automatically determine its resource requirements, eliminating the need for manual checklist creation. The system self-generates the verification checklist by parsing the manifest and self-executes verification tasks by running the application in a controlled environment, making the process reliable and autonomous without requiring external manual intervention.

Inventive Principle:
Principle #25Self-service

2Reliability

If comprehensive resource checklists are generated through automated methods, then verification accuracy improves, but the time and computational resources required for verification increase

Engineering Contradiction:
Improveresource verification completenessVSAvoidverification process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts resource requirements from the application manifest file in advance, before actual verification execution. This preliminary extraction creates a structured checklist that guides subsequent verification tasks, ensuring comprehensive coverage of all resources while organizing the verification process efficiently to minimize execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a simplified verification model by copying and parsing the manifest file structure to generate the resource checklist. This copying approach allows the system to work with a lightweight data representation rather than executing complex analysis during verification, reducing computational overhead and verification time while maintaining completeness.

Inventive Principle:
Principle #26Copying

3Measurement precision

If static code analysis is performed to identify resource access patterns, then the resource checklist becomes more accurate, but the complexity of the verification process increases

Engineering Contradiction:
Improveresource access type detectionVSAvoidcode analysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system replaces complex manual code analysis with automated parsing of the manifest file, which contains structured information about resource requirements. This substitution uses predefined schemas and patterns to extract resource access types (read, write, execute) without requiring deep static code analysis, reducing verification process complexity while maintaining precision in identifying resource requirements.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The manifest file serves multiple functions: it describes application metadata, declares resource requirements, and provides the basis for generating the verification checklist. This multi-functionality eliminates the need for separate analysis mechanisms, as the manifest universally covers all resource declaration needs across different application types and environments.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If resource verification is performed in multiple environments (development, testing, customer), then adaptability to different configurations improves, but the verification process becomes more complex and time-consuming

Engineering Contradiction:
Improveenvironmental configuration adaptabilityVSAvoidmulti-environment verification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The verification system uses a universal manifest-based approach that works across all environments (development, testing, customer). The manifest file universally describes resource requirements regardless of environment, and the verification process universally checks these requirements against the target environment's actual configuration, providing adaptability without requiring environment-specific verification logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system segments the verification process into environment-agnostic steps: extracting resource requirements from the manifest, generating the verification checklist, and executing verification tasks. This segmentation allows the same verification mechanism to adapt to different environments by simply changing the target environment being checked, without increasing process complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11429516B1Resource verification for an application
Publication Date: 2022.08.30 APPL MATERIALS ISRAEL LTD
  • US11429516B1 patent drawing
  • US11429516B1 patent drawing
  • US11429516B1 patent drawing

AI summary

There is provided a system and method of resource verification for an application, the method comprising: obtaining a checklist of resources required for running the application, wherein the checklist is generated by: obtaining source code and an executable file of the application; running the executable file, and monitoring resources accessed by the application during execution thereof and corresponding access type of each resource, giving rise to a first list of resources; performing static code analysis of the source code including searching the source code for one or more specific code patterns indicative of respective resources to be accessed and corresponding access types thereof, and generating a second list of resources; and mapping the first list and second list of resources to generate the checklist of resources. The method further comprises automatically verifying the checklist of resources, giving rise to a verification result.