Validating object-oriented software at design phase by achieving MC/DC

This paper deals with a new technique for validating object-oriented software at design phase of project development. There are several modeling diagrams used at design phase of Software Development Life Cycle. But in this paper, we focus on UML Activity Diagram. In our work, first we construct the UML activity diagram for the given system using ArgoUML. Then, the XML (“EXtensible Markup Language”) code is generated for the constructed activity diagram. Next, this XML code is translated to XSD (“XML Schema Definition”) code. This XSD code is given as input to JAXB (“Java Architecture for XML Binding”), which generates the Java template. Then, this Java template is instrumented to a complete Java program with minimal manual effort. Next, we carryout concolic testing of this Java code using jCUTE. This tool generates test cases by taking the Java program as input. Then, the obtained test suite and generated Java source code are inputed into our in-house developed tool named COPECA (COverage PErcentage CAlculator) to calculate MC/DC (Modified Condition/Decision Coverage) score. We have achieved 56.31% MC/DC on doing experiment with fourteen activity diagrams, which is a fair (moderate) achievement compared to the existing work.

[1]  Durga Prasad Mohapatra,et al.  Test Case Generation from Behavioral UML Models , 2010 .

[2]  Durga Prasad Mohapatra,et al.  Firefly optimization technique based test scenario generation and prioritization , 2018 .

[3]  Debasis Samanta,et al.  Automatic Test Data Synthesis using UML Sequence Diagrams , 2010, J. Object Technol..

[4]  Avijit Das,et al.  AUTOMATIC GENERATION OF MC/DC TEST DATA , 2013 .

[5]  Stephan Weißleder,et al.  Automatic Test Case Generation from UML Models and OCL Expressions , 2008, Software Engineering.

[6]  Sagar Naik,et al.  Software Testing and Quality Assurance , 2007 .

[7]  Alexander Pretschner Compositional Generation of MC/DC Integration Test Suites , 2003, Electron. Notes Theor. Comput. Sci..

[8]  Steven P. Miller,et al.  Applicability of modified condition/decision coverage to software testing , 1994, Softw. Eng. J..

[9]  J Hayhurst Kelly,et al.  A Practical Tutorial on Modified Condition/Decision Coverage , 2001 .

[10]  Vikas Panthi Generation and Prioritization of Test Scenarios for Object-Oriented Software using UML State Machines , 2017 .

[11]  Mohd. Ehmer Khan,et al.  A Comparative Study of White Box, Black Box and Grey Box Testing Techniques , 2012 .

[12]  M. Mythily A Simple Implementation of UML Sequence Diagram to Java Code Generation through XMI Representation , 2013 .

[13]  Aneesh Krishna,et al.  Extending UML with Non-functional Requirements Modelling , 2010, ISD.

[14]  Durga Prasad Mohapatra,et al.  Measuring MC/DC at design phase using UML sequence diagram and concolic testing , 2016, 2016 IEEE Annual India Conference (INDICON).

[15]  Lisane B. de Brisolara,et al.  Generating Java Code from UML Class and Sequence Diagrams , 2011, 2011 Brazilian Symposium on Computing System Engineering.

[16]  Jonathan P. Bowen,et al.  From MC/DC to RC/DC: formalization and analysis of control-flow testing criteria , 2006, Formal Aspects of Computing.

[17]  Durga Prasad Mohapatra,et al.  Java-HCT: An approach to increase MC/DC using hybrid concolic testing for Java programs , 2016, 2016 Federated Conference on Computer Science and Information Systems (FedCSIS).

[18]  Rajib Mall,et al.  J3 Model: A novel framework for improved Modified Condition/Decision Coverage analysis , 2017, Comput. Stand. Interfaces.

[19]  Monalisa Sarma,et al.  Automatic Test Case Generation from UML Models , 2007 .

[20]  Arif Ali Khan,et al.  Understanding the Relationships Between Requirements Uncertainty and Nature of Conflicts: A Study of Software Development Team Effectiveness , 2018, Arabian Journal for Science and Engineering.

[21]  Koushik Sen,et al.  A Race-Detection and Flipping Algorithm for Automated Testing of Multi-threaded Programs , 2006, Haifa Verification Conference.

[22]  Li Xuandong,et al.  Automatic test case generation for UML activity diagrams , 2006 .

[23]  Pierre-Alain Muller,et al.  Exploiting model driven technology: a tale of two startups , 2012, Software & Systems Modeling.

[24]  Aneesh Krishna,et al.  Supporting Uml Activity Diagrams Using Organizational Models , 2008 .

[25]  Durga Prasad Mohapatra,et al.  An Automated Analysis of the Branch Coverage and Energy Consumption Using Concolic Testing , 2016, Arabian Journal for Science and Engineering.

[26]  Vipin Saxena,et al.  Use of Genetic Approach for Test Case Prioritization from UML Activity Diagram , 2015 .

[27]  Rajib Mall,et al.  Scaling modified condition/decision coverage using distributed concolic testing for Java programs , 2018, Comput. Stand. Interfaces.

[28]  Yuen-Tak Yu,et al.  A comparison of MC/DC, MUMCUT and several other coverage criteria for logical decisions , 2006, J. Syst. Softw..

[29]  Kumar Rajnish,et al.  Applicability of Weyuker Property 9 to Object-Oriented Inheritance Tree Metric-A Discussion , 2007 .

[30]  Paul A. Strooper,et al.  Automated Generation of Test Cases Using Model-Driven Architecture , 2007, Second International Workshop on Automation of Software Test (AST '07).

[31]  Koushik Sen,et al.  CUTE and jCUTE: Concolic Unit Testing and Explicit Path Model-Checking Tools , 2006, CAV.

[32]  Durga Prasad Mohapatra,et al.  Generating Prioritized Test Sequences Using Firefly Optimization Technique , 2015 .

[33]  Sanjai Rayadurgam,et al.  Generating MC/DC adequate test sequences through model checking , 2003, 28th Annual NASA Goddard Software Engineering Workshop, 2003. Proceedings..

[34]  Koushik Sen,et al.  CUTE: a concolic unit testing engine for C , 2005, ESEC/FSE-13.

[35]  Giuliano Antoniol,et al.  MC/DC automatic test input data generation , 2009, GECCO '09.