Application Resource Verification via Manifest and Execution Monitoring
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If comprehensive resource checklists are generated through automated methods, then verification accuracy improves, but the time and computational resources required for verification increase
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


