SlideShare a Scribd company logo
IEEE Symposium on Computers & Informatics (ISCI) 
2014 
Kota Kinabalu, Malaysia 
An Automated Tool for MC/DC Test Data Generation 
IAriful Haque, IIIrman Khalil, and IIIKamal Z. Zamli 
Faculty of Computer Systems and Software Engineering 
Universiti Malaysia Pahang 
26300 Kuantan, Pahang, Malaysia 
Iarifulhb@gmail.com, III kamalz@ump.edu.my
Index 
ü Introduction 
ü Problem Statement 
ü Related Work 
ü Overview of MC/DC 
ü Design & Framework for MC/DC Gen 
ü Conslusion 
ü References
Introduction 
q The National Institute of Standards and Technology (NIST) reported that the monetary 
loss owing to inadequate infrastructure for software testing was estimated from $22.2 to 
$59.5 billion [7] in 2022. In terms of labor, based on data from 2010 to 2011, the cost of 
preventable software bugs increased to at least $25.8 billion. 
q Software Test Engineers often stay under increasing pressure for optimizing test cases yet 
keeping them effective and keeping the cost low [1]. 
q For structural testing, criteria based on statement, branch and path coverage; has been the 
most common [2][3] and sufficiently effective for testing the various parts of the software 
implementation. But In other cases criteria involving complex predicates based on 
statement, branch, and path coverage appear problematic owing to the problem of masking 
(where one variable is “masking” the effects of other variables). 
q For small inputs, masking problem can be straightforwardly addressed by considering 
exhaustive testing. But for large inputs involving complex predicates, the number of 
exhaustive combinations can be prohibitely too many.
Problem Statement 
q Given the predicates: Z := (A and B) or (C and D). Here, exhaustive testing requires 24=16 
combinations. For predicates involving 20 variables, exhaustive testing requires 220 = 
1,048,576 test cases. If a set of test cases takes 10 seconds to be processed and executed, 
the total of 1,048,576 test cases will need more than 4 months for execution. 
Fig 1: Masking Problem
Contd. 
q To address the test-suit size problem, researchers suggested to use Modified Condition / 
Decision Coverage (MC/DC) criterion as a strategy to systematically reduce the number of 
test cases. 
q MC/DC is a code coverage criterion that requires all of the below during testing: 
ü Each entry and exit point is invoked 
ü Each decision tries every possible outcome 
ü Each condition in a decision takes on every possible outcome 
ü Each condition in a decision is shown to independently affect the outcome of the 
decision. 
q Addressing this issue, this research determined to design and implement an automatic test 
data generation strategy, called "MC/DC GEN" for structural testing based on MC/DC.
Related Work 
q Ghani and Clark [2] introduce an automatic framework to extend the capabilities of 
search based testing technique for MC/DC. Simulated annealing optimization 
technique is used into this framework. 
q Jones and Harrold [4] have proposed an algorithm for MC/DC with prioritization. 
There are four steps involved to reduce the number of test cases. The steps are 
removing uncovered pairs, identifying test cases, assigning test cases contributions 
and removing weakest test cases. 
q Similar to Ghani and Clark[2], Awedikian et al. [1] adopts search based algorithms 
(Hill Climbing (HC) and Genetic Algorithm (GA) ) for generating MC/DC test 
suite.
Contd. 
q In other work, Jun-Ru and Chin-Yu [5] usefully exploit ncube graph in order to 
generate appropriate MC/DC compliant test data. In this case, the vertex of the cube 
represents the resultant Boolean enumeration for predicates under evaluation. A tool 
called TASTE (Tool for Automatic Software Regression Testing) has been 
developed as a result. 
q Kandl and Kirner [6] exploit MC/DC to automotive domain. The goal of their study 
is to inspect the error detection rate of a set of test that attains maximum possible 
MC/DC coverage.
Overview of Modified Condition 
/ Decision Coverage (MC/DC) 
q Modified Condition/Decision Coverage [MC/DC] is the structural testing coverage criteria 
advocated by NASA for testing safety critical software applications. It is the main 
structural testing criteria required for mission critical software system as required by the 
DO-178B and DO-178C standards [9]. 
q Exists in pairs, MC/DC criteria [11] insists that each variable at the atomic level is able to 
independently influence the overall outcome – while keeping other variable(s) unchanged. 
q Specifically, each one of the pair differs only by the Boolean value of one condition, but 
gives a different result for the decision statement a&&b and a||b. 
Ø For AND operation, MC/DC pairs are {{F,T}, {T,T}}, {{T,F}, {T,T}}. As the entry 
{T,T} is redundant, the complete MC/DC compliant test predicate is reduced to 
{F,T}, {T,F} and {T,T}. 
Ø For OR operation, the MC/DC pairs are compliant test predicates are {{F,F}, 
{T,F}}, {{F,T}, {T,F}}.
Contd. 
q As a running example, consider the following if statements involving AND, OR, and 
NOT operations (see Fig. 2). 
q To facilitate discussion, we have assigned the predicate (x>100) = A, (y<50) =B, and (Z) 
= C. 
Ø Here, as long as A&&B holds TRUE, statement 1 will always be executed regardless of the 
value of C. 
Ø Similarly, given that NOT C is TRUE, statement 2 will always get executed regardless of the 
values of A&&B. 
Ø In this manner, the resulting predicate is masking each other given the wrong selection 
of inputs values. Referring from the given truth table in Fig. 2, there are: 
• 1 pair for MC/DC coverage for 
variable A 
• 1 pair for MC/DC coverage for 
variable B 
• 3 possible pairs for MC/DC 
coverage for variable C (fig 4) 
Fig: 2
Contd. 
From the conditions, these pairs are summarized in fig 3. Combining the pairs together and 
removing repetition yield three possible MC/DC solutions which is shown in Fig 4. 
Fig: 3 
Fig: 4 
Finally, any of the MC/DC results can 
be converted to the appropriate test 
cases satisfying the predicates. Taking 
the first result "Result 1" as example, 
the test cases can be generated as 
follows
Design and framework for 
MC/DC GEN 
Before the implementation of MC/DC 
GEN is further discussed, the design of 
this application needs to be elaborated 
accordingly. Fig 4 depicts the overall 
components for MC/DC GEN. 
Fig 4 
Ø Step 1: Input Processing and Analysis 
To initiate the generation process, test 
engineers need to input the predicates. 
² For AND operation, user can use "." or 
"&" notation. 
² For OR operator, user can user "+” or 
"|" notation. 
² "!" should be use to for negation (NOT 
operator). 
² For grouping parameters "()” should 
be used. A sample expression.
Contd. 
Ø Step 2: Generating List of Solutions 
MC/DC Gen use Simulated Annealing (SA) approch to find MC/DC pairs by searching 
ever possible solutions.
Contd. 
Ø Step 3: MC/DC Pairs with Predicates 
Ø Step 4: Generating the Final Test Data
Conclusion 
Summing up, this paper has highlighted the development of MC/DC Gen along 
with its practical use for MC/DC test data generation. 
As the scope of future work, we plan to automate the actual generation of test 
from the MC/DC generated pairs.
References 
1. Awedikian, Z., Ayari, K., & Antoniol, G. "MC/DC Automatic Test Input Data Generation." in Proceeding of the 
11th Genetic and Evolutionary Computation Conference, Montreal, Québec, Canada, pp-1657-1664, 2009. 
2. Ghani, K., & Clark, J. A. "Automatic Test Data Generation for Multiple Condition and MC/DC Coverage." in 
Proceeding of the 4th International Conference on Software Engineering Advances, Porto, Portugal, pp-152-157, 
2009 
3. Hayhurst, K. J., Veerhusen, D. S., Chilenski, J. J., & Rierson, L. K. A Practical Tutorial on Modified Condition/ 
Decision Coverage, (Vol. NASA Technical Memorandum TM-2001-210876). 2001 NASA Langley Research 
Center. 
4. Jones, J A., and Mary Jean Harrold. "Test-Suite Reduction and Prioritization for Modified Condition/Decision 
Coverage." IEEE Transactions on Software Engineering, Vol. 29, Issue 3, pp-195-209, 2003. 
5. Jun-Ru, C., & Chin-Yu, H. 2007. "A Study of Enhanced MC/DC Coverage Criterion for Software Testing." In 
Proceeding of 31st Annual IEEE International Computer Software and Applications Conference, Beijing, 2007, 
pp-457-464. 
6. Kandl, S., & Kirner, R. "Error detection rate of MC/DC for a case study from the automotive domain." in 
Proceeding of the 8th IFIP WG 10.2 International Workshop, Waidhofen/Ybbs, Austria, 2010, pp-131-142. 
7. Tassey, Gregory. "The Economic Impacts of Inadequate Infrastructure for Software Testing." National Institute 
of Standards and Technology, RTI Project 7007, no. 011, 2002. 
8. SQS Identifies the highest profile software failures of 2011 Retrieved 30 March 2013, Available in web: 
http://www.sqs.com/en/group/about-sqs/press-archive_6399.php 
9. Hayhurst, Kelly J., and Dan S. Veerhusen. "A Practical Approach to Modified Condition/Decision Coverage." in 
Proceeding of 20th Conference of Digital Avionics Systems, Vol. 1, 2001, pp. 1B2-1. 
10. Younis, M.I., K. Z. Zamli, and N. A. M. Isa, "IRPS -- An Efficient Test Data Generation Strategy for Pairwise 
Testing," in Proceedings of the 12th International Conference on Knowledge-Based Intelligent Information and 
Engineering Systems, Part I, Zagreb, Croatia, 2008. 
11. Zamli, K. Z., AbdulRahman A. Al-Sewari, and Mohd Hafiz Mohd Hassin. "On Test Case Generation Satisfying 
the MC/DC Criterion.” International Journal of Advances in Soft Computing & Its Applications 5, no. 3, 2013.
Thank You

More Related Content

What's hot

Test Environment Management
Test Environment ManagementTest Environment Management
Test Environment Management
Kanoah
 
Chapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of TestingChapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of Testing
Neeraj Kumar Singh
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Sergey Podolsky
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief Overview
Softheme
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
KMS Technology
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
Leonard Fingerman
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
Yogindernath Gupta
 
Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for Testing
Neeraj Kumar Singh
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
Davis Thomas
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
Amit Rawat
 
End to end test automation with cypress
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
PankajSingh184960
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Test case template
Test case templateTest case template
Test case template
sephalika
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
Somkiat Puisungnoen
 
Test Automation
Test AutomationTest Automation
Test Automation
nikos batsios
 
Software testing
Software testingSoftware testing
CTFL chapter 05
CTFL chapter 05CTFL chapter 05
CTFL chapter 05
Davis Thomas
 

What's hot (20)

Test Environment Management
Test Environment ManagementTest Environment Management
Test Environment Management
 
Chapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of TestingChapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of Testing
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief Overview
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
 
Chapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for Testing
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
End to end test automation with cypress
End to end test automation with cypressEnd to end test automation with cypress
End to end test automation with cypress
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Test case template
Test case templateTest case template
Test case template
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Software testing
Software testingSoftware testing
Software testing
 
CTFL chapter 05
CTFL chapter 05CTFL chapter 05
CTFL chapter 05
 

Similar to An Automated Tool for MC/DC Test Data Generation

IRJET- Optimum Design of Fan, Queen and Pratt Trusses
IRJET-  	  Optimum Design of Fan, Queen and Pratt TrussesIRJET-  	  Optimum Design of Fan, Queen and Pratt Trusses
IRJET- Optimum Design of Fan, Queen and Pratt Trusses
IRJET Journal
 
Application of ANFIS in Civil Engineering- A Critical Review
Application of ANFIS in Civil Engineering- A Critical ReviewApplication of ANFIS in Civil Engineering- A Critical Review
Application of ANFIS in Civil Engineering- A Critical Review
IRJET Journal
 
A statistical approach to predict flight delay
A statistical approach to predict flight delayA statistical approach to predict flight delay
A statistical approach to predict flight delay
iDTechTechnologies
 
Y04507139147
Y04507139147Y04507139147
Y04507139147
IJERA Editor
 
Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’
Alexander Decker
 
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONSAPPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
VLSICS Design
 
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONSAPPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
VLSICS Design
 
ProjectReport_SPCinAM
ProjectReport_SPCinAMProjectReport_SPCinAM
ProjectReport_SPCinAM
SYED QAMAR RAZA
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...
eSAT Publishing House
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...
eSAT Journals
 
30120130405014
3012013040501430120130405014
30120130405014
IAEME Publication
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
Six Sigma Mechanical Tolerance Analysis 1
Six Sigma Mechanical Tolerance Analysis 1Six Sigma Mechanical Tolerance Analysis 1
Six Sigma Mechanical Tolerance Analysis 1
David Panek
 
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
IAEME Publication
 
Maestro_Abstract
Maestro_AbstractMaestro_Abstract
Maestro_Abstract
Hardik Patel
 
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
ijsrd.com
 
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
ijsrd.com
 
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESSTHE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
VESIT/University of Mumbai
 
Verifications and Validations in Finite Element Analysis (FEA)
Verifications and Validations in Finite Element Analysis (FEA)Verifications and Validations in Finite Element Analysis (FEA)
Verifications and Validations in Finite Element Analysis (FEA)
Kartik Srinivas
 
IRJET- A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
IRJET-  	  A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...IRJET-  	  A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
IRJET- A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
IRJET Journal
 

Similar to An Automated Tool for MC/DC Test Data Generation (20)

IRJET- Optimum Design of Fan, Queen and Pratt Trusses
IRJET-  	  Optimum Design of Fan, Queen and Pratt TrussesIRJET-  	  Optimum Design of Fan, Queen and Pratt Trusses
IRJET- Optimum Design of Fan, Queen and Pratt Trusses
 
Application of ANFIS in Civil Engineering- A Critical Review
Application of ANFIS in Civil Engineering- A Critical ReviewApplication of ANFIS in Civil Engineering- A Critical Review
Application of ANFIS in Civil Engineering- A Critical Review
 
A statistical approach to predict flight delay
A statistical approach to predict flight delayA statistical approach to predict flight delay
A statistical approach to predict flight delay
 
Y04507139147
Y04507139147Y04507139147
Y04507139147
 
Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’Automated well test analysis ii using ‘well test auto’
Automated well test analysis ii using ‘well test auto’
 
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONSAPPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
 
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONSAPPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
APPROXIMATE ARITHMETIC CIRCUIT DESIGN FOR ERROR RESILIENT APPLICATIONS
 
ProjectReport_SPCinAM
ProjectReport_SPCinAMProjectReport_SPCinAM
ProjectReport_SPCinAM
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...
 
30120130405014
3012013040501430120130405014
30120130405014
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Six Sigma Mechanical Tolerance Analysis 1
Six Sigma Mechanical Tolerance Analysis 1Six Sigma Mechanical Tolerance Analysis 1
Six Sigma Mechanical Tolerance Analysis 1
 
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
AN IMPROVED METHOD FOR IDENTIFYING WELL-TEST INTERPRETATION MODEL BASED ON AG...
 
Maestro_Abstract
Maestro_AbstractMaestro_Abstract
Maestro_Abstract
 
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
 
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
Artificial Neural Network Based Graphical User Interface for Estimation of Fa...
 
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESSTHE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
THE APPLICATION OF CAUSE EFFECT GRAPH FOR THE COLLEGE PLACEMENT PROCESS
 
Verifications and Validations in Finite Element Analysis (FEA)
Verifications and Validations in Finite Element Analysis (FEA)Verifications and Validations in Finite Element Analysis (FEA)
Verifications and Validations in Finite Element Analysis (FEA)
 
IRJET- A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
IRJET-  	  A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...IRJET-  	  A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
IRJET- A Novel Gabor Feed Forward Network for Pose Invariant Face Recogni...
 

Recently uploaded

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 

Recently uploaded (20)

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 

An Automated Tool for MC/DC Test Data Generation

  • 1. IEEE Symposium on Computers & Informatics (ISCI) 2014 Kota Kinabalu, Malaysia An Automated Tool for MC/DC Test Data Generation IAriful Haque, IIIrman Khalil, and IIIKamal Z. Zamli Faculty of Computer Systems and Software Engineering Universiti Malaysia Pahang 26300 Kuantan, Pahang, Malaysia Iarifulhb@gmail.com, III kamalz@ump.edu.my
  • 2. Index ü Introduction ü Problem Statement ü Related Work ü Overview of MC/DC ü Design & Framework for MC/DC Gen ü Conslusion ü References
  • 3. Introduction q The National Institute of Standards and Technology (NIST) reported that the monetary loss owing to inadequate infrastructure for software testing was estimated from $22.2 to $59.5 billion [7] in 2022. In terms of labor, based on data from 2010 to 2011, the cost of preventable software bugs increased to at least $25.8 billion. q Software Test Engineers often stay under increasing pressure for optimizing test cases yet keeping them effective and keeping the cost low [1]. q For structural testing, criteria based on statement, branch and path coverage; has been the most common [2][3] and sufficiently effective for testing the various parts of the software implementation. But In other cases criteria involving complex predicates based on statement, branch, and path coverage appear problematic owing to the problem of masking (where one variable is “masking” the effects of other variables). q For small inputs, masking problem can be straightforwardly addressed by considering exhaustive testing. But for large inputs involving complex predicates, the number of exhaustive combinations can be prohibitely too many.
  • 4. Problem Statement q Given the predicates: Z := (A and B) or (C and D). Here, exhaustive testing requires 24=16 combinations. For predicates involving 20 variables, exhaustive testing requires 220 = 1,048,576 test cases. If a set of test cases takes 10 seconds to be processed and executed, the total of 1,048,576 test cases will need more than 4 months for execution. Fig 1: Masking Problem
  • 5. Contd. q To address the test-suit size problem, researchers suggested to use Modified Condition / Decision Coverage (MC/DC) criterion as a strategy to systematically reduce the number of test cases. q MC/DC is a code coverage criterion that requires all of the below during testing: ü Each entry and exit point is invoked ü Each decision tries every possible outcome ü Each condition in a decision takes on every possible outcome ü Each condition in a decision is shown to independently affect the outcome of the decision. q Addressing this issue, this research determined to design and implement an automatic test data generation strategy, called "MC/DC GEN" for structural testing based on MC/DC.
  • 6. Related Work q Ghani and Clark [2] introduce an automatic framework to extend the capabilities of search based testing technique for MC/DC. Simulated annealing optimization technique is used into this framework. q Jones and Harrold [4] have proposed an algorithm for MC/DC with prioritization. There are four steps involved to reduce the number of test cases. The steps are removing uncovered pairs, identifying test cases, assigning test cases contributions and removing weakest test cases. q Similar to Ghani and Clark[2], Awedikian et al. [1] adopts search based algorithms (Hill Climbing (HC) and Genetic Algorithm (GA) ) for generating MC/DC test suite.
  • 7. Contd. q In other work, Jun-Ru and Chin-Yu [5] usefully exploit ncube graph in order to generate appropriate MC/DC compliant test data. In this case, the vertex of the cube represents the resultant Boolean enumeration for predicates under evaluation. A tool called TASTE (Tool for Automatic Software Regression Testing) has been developed as a result. q Kandl and Kirner [6] exploit MC/DC to automotive domain. The goal of their study is to inspect the error detection rate of a set of test that attains maximum possible MC/DC coverage.
  • 8. Overview of Modified Condition / Decision Coverage (MC/DC) q Modified Condition/Decision Coverage [MC/DC] is the structural testing coverage criteria advocated by NASA for testing safety critical software applications. It is the main structural testing criteria required for mission critical software system as required by the DO-178B and DO-178C standards [9]. q Exists in pairs, MC/DC criteria [11] insists that each variable at the atomic level is able to independently influence the overall outcome – while keeping other variable(s) unchanged. q Specifically, each one of the pair differs only by the Boolean value of one condition, but gives a different result for the decision statement a&&b and a||b. Ø For AND operation, MC/DC pairs are {{F,T}, {T,T}}, {{T,F}, {T,T}}. As the entry {T,T} is redundant, the complete MC/DC compliant test predicate is reduced to {F,T}, {T,F} and {T,T}. Ø For OR operation, the MC/DC pairs are compliant test predicates are {{F,F}, {T,F}}, {{F,T}, {T,F}}.
  • 9. Contd. q As a running example, consider the following if statements involving AND, OR, and NOT operations (see Fig. 2). q To facilitate discussion, we have assigned the predicate (x>100) = A, (y<50) =B, and (Z) = C. Ø Here, as long as A&&B holds TRUE, statement 1 will always be executed regardless of the value of C. Ø Similarly, given that NOT C is TRUE, statement 2 will always get executed regardless of the values of A&&B. Ø In this manner, the resulting predicate is masking each other given the wrong selection of inputs values. Referring from the given truth table in Fig. 2, there are: • 1 pair for MC/DC coverage for variable A • 1 pair for MC/DC coverage for variable B • 3 possible pairs for MC/DC coverage for variable C (fig 4) Fig: 2
  • 10. Contd. From the conditions, these pairs are summarized in fig 3. Combining the pairs together and removing repetition yield three possible MC/DC solutions which is shown in Fig 4. Fig: 3 Fig: 4 Finally, any of the MC/DC results can be converted to the appropriate test cases satisfying the predicates. Taking the first result "Result 1" as example, the test cases can be generated as follows
  • 11. Design and framework for MC/DC GEN Before the implementation of MC/DC GEN is further discussed, the design of this application needs to be elaborated accordingly. Fig 4 depicts the overall components for MC/DC GEN. Fig 4 Ø Step 1: Input Processing and Analysis To initiate the generation process, test engineers need to input the predicates. ² For AND operation, user can use "." or "&" notation. ² For OR operator, user can user "+” or "|" notation. ² "!" should be use to for negation (NOT operator). ² For grouping parameters "()” should be used. A sample expression.
  • 12. Contd. Ø Step 2: Generating List of Solutions MC/DC Gen use Simulated Annealing (SA) approch to find MC/DC pairs by searching ever possible solutions.
  • 13. Contd. Ø Step 3: MC/DC Pairs with Predicates Ø Step 4: Generating the Final Test Data
  • 14. Conclusion Summing up, this paper has highlighted the development of MC/DC Gen along with its practical use for MC/DC test data generation. As the scope of future work, we plan to automate the actual generation of test from the MC/DC generated pairs.
  • 15. References 1. Awedikian, Z., Ayari, K., & Antoniol, G. "MC/DC Automatic Test Input Data Generation." in Proceeding of the 11th Genetic and Evolutionary Computation Conference, Montreal, Québec, Canada, pp-1657-1664, 2009. 2. Ghani, K., & Clark, J. A. "Automatic Test Data Generation for Multiple Condition and MC/DC Coverage." in Proceeding of the 4th International Conference on Software Engineering Advances, Porto, Portugal, pp-152-157, 2009 3. Hayhurst, K. J., Veerhusen, D. S., Chilenski, J. J., & Rierson, L. K. A Practical Tutorial on Modified Condition/ Decision Coverage, (Vol. NASA Technical Memorandum TM-2001-210876). 2001 NASA Langley Research Center. 4. Jones, J A., and Mary Jean Harrold. "Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage." IEEE Transactions on Software Engineering, Vol. 29, Issue 3, pp-195-209, 2003. 5. Jun-Ru, C., & Chin-Yu, H. 2007. "A Study of Enhanced MC/DC Coverage Criterion for Software Testing." In Proceeding of 31st Annual IEEE International Computer Software and Applications Conference, Beijing, 2007, pp-457-464. 6. Kandl, S., & Kirner, R. "Error detection rate of MC/DC for a case study from the automotive domain." in Proceeding of the 8th IFIP WG 10.2 International Workshop, Waidhofen/Ybbs, Austria, 2010, pp-131-142. 7. Tassey, Gregory. "The Economic Impacts of Inadequate Infrastructure for Software Testing." National Institute of Standards and Technology, RTI Project 7007, no. 011, 2002. 8. SQS Identifies the highest profile software failures of 2011 Retrieved 30 March 2013, Available in web: http://www.sqs.com/en/group/about-sqs/press-archive_6399.php 9. Hayhurst, Kelly J., and Dan S. Veerhusen. "A Practical Approach to Modified Condition/Decision Coverage." in Proceeding of 20th Conference of Digital Avionics Systems, Vol. 1, 2001, pp. 1B2-1. 10. Younis, M.I., K. Z. Zamli, and N. A. M. Isa, "IRPS -- An Efficient Test Data Generation Strategy for Pairwise Testing," in Proceedings of the 12th International Conference on Knowledge-Based Intelligent Information and Engineering Systems, Part I, Zagreb, Croatia, 2008. 11. Zamli, K. Z., AbdulRahman A. Al-Sewari, and Mohd Hafiz Mohd Hassin. "On Test Case Generation Satisfying the MC/DC Criterion.” International Journal of Advances in Soft Computing & Its Applications 5, no. 3, 2013.