SVR Predictor for Software Test Bench Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing mechanisms are time-consuming and inefficient, generating a large number of test benches that often have similar effects, leading to prolonged software testing times to achieve desired code coverage.

Innovation Solution

A mechanism using a Support Vector Machine (SVM) to establish a Support Vector Regression (SVR) predictor based on a condition-statement tree of hard-to-detect code, selecting the best candidate test bench from multiple options to improve code coverage, thereby reducing the number of test benches needed to reach the intended code coverage rate.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If test benches are generated continuously and executed one by one to achieve code coverage, then code coverage rate is improved, but testing time increases significantly

Engineering Contradiction:
Improvecode coverage rateVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by using SVM to predict which test benches are most likely to improve code coverage before actually executing them. The system analyzes code structure and generates predictions in advance, allowing the tester to select only the most effective test benches, thereby reducing unnecessary execution time while maintaining code coverage effectiveness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by continuously monitoring code coverage results and using this information to train and refine the SVM model. The system learns from actual execution outcomes and adjusts its predictions accordingly, creating an iterative improvement loop that optimizes test bench selection over time

Inventive Principle:
Principle #23Feedback

2Reliability

If a large number of test benches are generated to ensure comprehensive code coverage, then code coverage rate is improved, but the number of redundant test benches increases

Engineering Contradiction:
Improvecode coverage rateVSAvoidnumber of test benches
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies the extraction principle by identifying and selecting only the most valuable test benches from the entire pool of possible test cases. The SVM model extracts and prioritizes test benches that are most likely to cover hard-to-detect code sections, filtering out redundant or less effective test cases before execution

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by tailoring test bench selection to the specific characteristics of different code sections. The system identifies hard-to-detect code areas and focuses test bench generation and selection efforts on creating tests that specifically target these difficult sections, rather than uniformly distributing test cases across all code

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9454457B1Software test apparatus, software test method and computer readable medium thereof
Publication Date: 2016.09.27 INSTITUTE FOR INFORMATION INDUSTRY
  • US9454457B1 patent drawing
  • US9454457B1 patent drawing
  • US9454457B1 patent drawing

AI summary

A software test apparatus and a software test method and a computer readable medium thereof are provided. The software test apparatus stores a software testing program, an under-tested code, a plurality of basic test benches and a plurality of candidate test benches. The under-tested code includes a hard-to-detect code and the hard-to-detect code has at least one hard-to-detect section. The software test apparatus runs the software testing program to execute the following operations: parsing the hard-to-detect code to generate a condition-statement tree; based on the basic test benches and the condition-statement tree, using a support vector machine (SVM) to establish a support vector regression (SVR) predictor; and applying the SVR predictor to choose a best candidate test bench from the candidate test benches.