Virtual Machine Based Program Analysis Service System

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogram safety and reliability certificationVSAvoidcomputational resource requirements
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

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

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

Engineering Contradiction:
Improveverification capabilityVSAvoidtime, effort, and cost of introduction and management
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvetool execution flexibilityVSAvoidtool selection and management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

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

Data Source

PatentEP2782039B1Program analysis/verification service provision system, control method for same, control program, control program for directing computer to function, program analysis/verification device, program analysis/verification tool management device
Publication Date: 2021.10.13 THE JAPAN SCI & TECH AGENCY
  • EP2782039B1 patent drawingFigure 1
  • EP2782039B1 patent drawingFigure 2
  • EP2782039B1 patent drawingFigure 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.