Automated MC/DC Test Case Generation for Boolean Expressions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual generation of Modified Condition/Decision Coverage (MC/DC) test scenarios for software verification is labor-intensive, time-consuming, and often produces unnecessary test cases, especially for Boolean expressions, due to the complexity and resource dependency of current methods.

Innovation Solution

An automated system and method that generates MC/DC test scenarios and selects test data by parsing Boolean expressions into binary trees, applying truth tables, and using an MC/DC test engine algorithm to produce optimal test cases, supporting various data types and comparison operators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual process is used to generate MC/DC test cases, then test cases can be customized with understanding, but the process is effort intensive and time consuming

Engineering Contradiction:
Improvetest case effectivenessVSAvoidtime to generate test cases
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the manual mechanical process of test case generation with an automated computer-based system that uses algorithms and truth tables to generate MC/DC test cases automatically, eliminating manual effort while maintaining coverage requirements

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system enables self-service test case generation where the automated tool independently analyzes the code structure, generates test scenarios, and produces test cases without requiring manual intervention, making the process consistent and repeatable

Inventive Principle:
Principle #25Self-service

2Reliability

If exhaustive testing is performed to achieve wide structural coverage, then coverage is improved, but the process becomes expensive and time consuming

Engineering Contradiction:
Improvestructural coverageVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by implementing selective testing that targets only the necessary test cases required to satisfy MC/DC criteria rather than performing exhaustive testing of all possible scenarios, achieving required coverage with minimal test cases

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system segments the testing process into distinct phases: code parsing, decision identification, truth table generation, and test case synthesis, allowing efficient processing of each component separately rather than treating testing as a monolithic exhaustive process

Inventive Principle:
Principle #1Segmentation

3Loss of time

If automatic test case generating tools are used, then time consumption is reduced, but the number of test cases produced is high and many turn out to be unnecessary

Engineering Contradiction:
Improvetime to generate test casesVSAvoidnumber of test cases
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent changes the parameters of test case generation by using MC/DC specific algorithms and truth table logic that inherently produce minimal test cases satisfying the criteria, rather than generating all possible test combinations and filtering them later

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system extracts only the essential test cases that satisfy MC/DC requirements by analyzing the decision structure and identifying minimal sets of test scenarios that independently verify each condition's impact on the decision outcome

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If manual test case development is performed, then expertise can be applied, but consistency across projects cannot be achieved

Engineering Contradiction:
Improvetest case qualityVSAvoidconsistency across projects
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

Solution Approach 1:

The patent creates a universal automated testing system that applies the same MC/DC algorithm and logic across all projects consistently, making the test generation process independent of individual developer expertise while maintaining high quality standards through standardized coverage criteria

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

Data Source

PatentUS9639442B2Modified condition/decision coverage test case automation
Publication Date: 2017.05.02 HCL TECH LTD
  • US9639442B2 patent drawing
  • US9639442B2 patent drawing
  • US9639442B2 patent drawing

AI summary

This embodiment relates to software verification and in particular to automatic generation of Modified Condition/Decision Coverage (MC/DC) tests scenarios. A system and method for reducing Modified Condition/Decision coverage (MC/DC) test scenarios is described along with selection of test data automatically for an input Boolean expression. An MC/DC test case engine generates optimal test case for a Boolean expression using an algorithm. The optimal minimal number of MC/DC cases generated to for satisfy the MC/DC condition for ‘n’ number of inputs may be ‘n+1’. The MC/DC test engine supports Boolean expression with Arithmetic and Comparison operators. The MC/DC test engine supports Boolean expression with no limitation on number of input variables.