Virtual Machine Based Program Analysis Service System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional program analysis/verification tools require large computational resources, are diverse and difficult to select, and pose challenges in testing and management, leading to increased time, effort, and cost for users.
Innovation Solution
A program analysis/verification service provision system that utilizes a cloud-like approach to share computational resources, allowing users to select from multiple tools, manage tools centrally, and execute analyses/verifications using virtual machines, reducing resource burdens and simplifying tool management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If program analysis/verification tools are used to analyze and verify programs, then safety and reliability certification is improved, but computational resource requirements (CPU time, memory capacity) increase significantly
Solution Approach 1:
Multiple program analysis/verification tools are combined into a single integrated system that can execute multiple tools simultaneously or sequentially. The system merges the functionality of various analysis tools (static analysis, dynamic analysis, formal verification) into one unified platform, allowing comprehensive program verification without requiring separate computational resources for each tool.
Solution Approach 2:
The program analysis/verification system is designed as a universal platform that can execute multiple different analysis tools and methods. The system provides multi-functional capabilities including static analysis, dynamic analysis, formal verification, and automated testing, all within a single system that can adapt to different verification needs and program types.
2Adaptability or versatility
If multiple program analysis/verification tools are introduced to satisfy diverse verification needs, then verification capability and versatility are improved, but time, effort, and cost of introduction, operation, and management increase
Solution Approach 1:
The system merges multiple verification tools and methods into one integrated platform, eliminating the need for users to separately introduce, install, and manage multiple individual tools. The unified system provides access to diverse verification capabilities through a single interface and centralized management structure.
Solution Approach 2:
The program analysis/verification system provides automated tool selection and execution capabilities. The system can automatically select appropriate verification tools based on the target program characteristics, configure execution parameters, and manage the verification process without requiring extensive user intervention or manual tool management.
3Ease of operation
If individual users operate program analysis/verification tools independently, then tool execution flexibility is improved, but the complexity of tool selection and management increases
Solution Approach 1:
The system introduces an intermediary management layer that sits between the user and multiple verification tools. This intermediary automatically handles tool selection, configuration, and coordination based on the verification requirements. Users interact with a simplified interface while the intermediary manages the complexity of selecting and executing the appropriate tools from the available suite.
Solution Approach 2:
The system provides a universal interface and management mechanism that works with multiple different verification tools. The unified management layer abstracts away the differences between various tools, providing consistent operation methods and a single point of control for managing diverse verification capabilities.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A program analysis/verification service provision system (1) includes: a tool registration/ search section (313) for extracting, from a plurality of program analysis/verification tools (virtual machines) stored in a tool storage section (320), a virtual machine (T) in which a program analysis/verification tool for use in analysis/verification of a target program (P) has been installed and set; and a virtual machine execution environment section (120) for analyzing/verifying the target program (P) with use of the virtual machine (T) thus extracted.