Automated Test Data Generation for Relational Mutants

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods are inadequate for automatically generating test data that effectively covers Boundary Value Coverage (BVC) and Masking Boundary Value Coverage (MBVC) criteria, crucial for detecting bugs in software, due to technical insufficiency and inability to scale for complex software analysis.

Innovation Solution

A method and system for automatically generating test data that includes defining MBVC criteria, generating non-redundant test sets, transforming software code with mutant code, executing the transformed code, and analyzing the effectiveness of masking conditions to provide empirical evidence on the superiority of MBVC over BVC using mutation analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If existing guided simulation methods are used for software testing, then test data can be generated, but the method cannot scale up to analyze complex software and automatically generate test data for BVC and MBVC criteria

Engineering Contradiction:
Improveautomatic test data generationVSAvoidsoftware analysis complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent segments the software analysis process into distinct components: parsing source code to extract relational expressions, generating boundary value test data for each relation, and systematically combining these relations. This segmentation enables automatic test data generation by breaking down complex software into manageable relational units that can be independently analyzed and tested.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary automated system that acts as a mediator between the source code and test execution. This intermediary automatically parses code, generates test data according to BVC and MBVC criteria, and prepares test cases without requiring manual guided simulation, thereby achieving automation while handling software complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a large test set is generated to effectively exercise most program executions, then bug detection capability improves, but the tester cannot comfortably run the program on it and compare outputs

Engineering Contradiction:
Improvebug detection capabilityVSAvoidtester operation comfort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service by having the automated system generate, manage, and execute test sets without requiring manual intervention. The system automatically creates comprehensive test data sets that exercise program executions thoroughly, then autonomously runs these tests and compares outputs, eliminating the burden on testers while maintaining high bug detection capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary actions by automatically generating and preparing comprehensive test sets before manual testing begins. All test data generation, validation, and organization are completed in advance by the automated system, so testers receive ready-to-execute test cases that maintain high coverage without requiring manual handling of large data sets.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If manual test data generation is used, then test sets can be created, but it is impossible to check program performance on all possible input data and inefficient for complex software

Engineering Contradiction:
Improvetest data generation efficiencyVSAvoidcoverage criterion satisfaction
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies parameter changes by systematically varying test input parameters according to boundary value analysis. The automated system generates test data that specifically targets boundary conditions and relational expressions, changing parameters methodically to satisfy BVC and MBVC coverage criteria. This approach achieves both high productivity through automation and measurement precision by ensuring comprehensive coverage of critical parameter boundaries.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8589736B2System and method for automatic test data generation for relational testing
Publication Date: 2013.11.19 TATA CONSULTANCY SERVICES LTD
  • US8589736B2 patent drawing
  • US8589736B2 patent drawing
  • US8589736B2 patent drawing

AI summary

An automated system and method for test data generation for software testing. The present application relates to management of software testing by generating test data automatically. Further the system and method generate test data automatically with respect to two coverage criteria Boundary Value Coverage (BVC) and Masking Boundary Value Coverage (MBVC) in the white-box setting.