Automated MC/DC Test Case Generation for Boolean Expressions
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If exhaustive testing is performed to achieve wide structural coverage, then coverage is improved, but the process becomes expensive and time consuming
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
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
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
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
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
4Measurement precision
If manual test case development is performed, then expertise can be applied, but consistency across projects cannot be achieved
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
Data Source
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.


