Operation Verification Apparatus for Multi-Task Software Defect Cause Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods face challenges in determining equivalence between programs before and after changes in a multi-task configuration, leading to significant efforts in defect cause estimation.

Innovation Solution

An operation verification apparatus that divides control processings into concurrency and functional sequential processings, allowing for automatic defect cause estimation by comparing differences between the first and second divided programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional equivalence check methods are used for multi-task configuration programs, then the verification process becomes extremely complex and time-consuming, but attempting to simplify it leads to inability to accurately determine equivalence between programs before and after changes

Engineering Contradiction:
Improvetime for defect cause estimationVSAvoidcomplexity of equivalence determination
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the control processings into two distinct categories: concurrency processings (which handle concurrent execution and synchronization) and functional sequential processings (which handle actual business logic). This segmentation allows the equivalence check to focus only on the functional sequential portions, excluding the complex concurrency control code from the equivalence comparison, thereby reducing verification complexity and time while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire control processing including concurrency control is subjected to equivalence checking, then comprehensive verification is achieved, but the verification workload and time required increase significantly

Engineering Contradiction:
Improvecompleteness of verificationVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and separates the concurrency processing portions (such as semaphore operations, mutex locks, and synchronization primitives) from the functional sequential processings. By taking out the concurrency control code and excluding it from equivalence checking, the method achieves comprehensive verification of functional correctness while significantly improving verification efficiency, as the excluded concurrency portions are assumed to be properly synchronized and not the source of functional defects.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If conventional testing methods are applied to multi-task programs with concurrent processing, then all code paths must be tested including concurrency control logic, but this leads to enormous testing effort and complexity

Engineering Contradiction:
Improveaccuracy of defect detectionVSAvoidease of defect verification
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent segments the program into concurrency processings and functional sequential processings, allowing defect verification to focus exclusively on the functional portions. This segmentation maintains accurate defect detection by concentrating testing efforts on business logic while simplifying the verification process by excluding synchronization code, thereby improving ease of operation without sacrificing measurement precision.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3564820B1Operation verification apparatus, operation verification method, and operation verification program
Publication Date: 2021.01.06 MITSUBISHI ELECTRIC CORP
  • EP3564820B1 patent drawingFigure 1
  • EP3564820B1 patent drawingFigure 2
  • EP3564820B1 patent drawingFigure 3

AI summary

A division unit (110) divides, for each of a first program (61) before a change and a second program (62) after the change, each of a plurality of control processings therein into a concurrency processing and a functional sequential processing, for output as a first divided program (71) and a second divided program (72). When a functional defect is detected, a cause estimation unit (150) estimates the functional sequential processing that is different between the first divided program (71) and the second divided program (72) as the cause of the functional defect. When a defect is detected as a concurrency defect, the cause estimation unit (150) estimates the concurrency processing that is different between the first divided program (71) and the second divided program (72) as the cause of the concurrency defect.