Skip to main content
Log in

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

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. “ArgoUML” https://argouml.en.softonic.com/.

  2. “JAXB Tutorials” https://www.javatpoint.com/jaxb-tutorial.

  3. “jCUTE” http://www.osl.cs.illinois.edu/software/jcute/.

  4. “RANDOOP” https://www.randoop.github.io/randoop/.

  5. See footnote 3.

  6. See footnote 1.

  7. See footnote 2.

  8. See footnote 3.

References

  • Awedikian Z, Ayari K, Antoniol G (2009) Mc/dc automatic test input data generation. In: Proceedings of the 11th annual conference on genetic and evolutionary computation. ACM, pp 1657–1664

  • Bhuiyan M, Islam MZ, Koliadis G, Krishna A, Chose A (2008) Supporting uml activity diagrams using organizational models. In: Challenges in information technology management. World Scientific, pp 182–188

  • Chen M, Qiu X, Li X (2006) Automatic test case generation for UML activity diagrams. In: Proceedings of the 2006 international workshop on automation of software test. ACM, pp 2–8

  • Chilenski JJ, Miller SP (1994) Applicability of modified condition decision coverage to software testing. Softw Eng J 9:193–200

    Article  Google Scholar 

  • Clark T, Muller P-A (2012) Exploiting model driven technology: a tale of two startups. Softw Syst Model 11(4):481–493

    Article  Google Scholar 

  • Das A, Mall R (2013) Automatic generation of MC/DC test data. Int J Softw Eng 2(1):1–8

    Google Scholar 

  • Godboley S, Dutta A, Das A, Mohapatra DP (2016) Measuring MC/DC at design phase using UML sequence diagram and concolic testing. In: India conference (INDICON). IEEE Annual Conference, pp 1–6

  • Godboley S, Dutta A, Mohapatra DP (2016b) Java-HCT: An approach to increase MC/DC using hybrid concolic testing for Java programs. In: 2016 federated conference on computer science and information systems (FedCSIS). IEEE, pp 1709–1713

  • Godboley S, Panda S, Dutta A, Mohapatra DP (2017) An automated analysis of the branch coverage and energy consumption using concolic testing. Arab J Sci Eng 42(2):619–637

    Article  Google Scholar 

  • Godboley S, Dutta A, Mohapatra DP, Mall R (2016) J3 model: a novel framework for improved modified condition/decision coverage analysis. Int J Appl Inf Syst (IJAIS) 50:1–17

    Google Scholar 

  • Godboley S, Dutta A, Mohapatra DP, Mall R (2018) Scaling modified condition/decision coverage using distributed concolic testing for Java programs. Comput Standards Interfaces 59:61–86

    Article  Google Scholar 

  • Godboley S, Dutta A, Mohapatra DP, Mall R (2018) Scaling modified condition/decision coverage using distributed concolic testing for Java programs. Comput Standards Interfaces 59:61–86

    Article  Google Scholar 

  • Hayhurst, Kelly J, Veerhusen, Dan S, Chilenski, John J, Rierson, Leanna K (2001) A practical tutorial on modified condition/decision coverage. ACM Digital Library, NASA Langley Technical report server, pp 1–85

  • Javed AZ, Strooper PA, Watson GN (2007) Automated generation of test cases using model-driven architecture. In: Proceedings of the second international workshop on automation of software test. IEEE Computer Society, pp 3–3

  • Swain Sk, Mohapatra DP (2010) Test case generation from behavioral uml models. Int J Comput Appl 6(8):5–11

    Google Scholar 

  • Khan ME, Khan F (2012) A comparative study of white box, black box and grey box testing techniques. Int J Adv Comput Sci Appl 3(6):12–15

    Google Scholar 

  • Krishna A, Gregoriades A (2011) Extending UML with non-functional requirements modelling. Springer, New York

    Book  Google Scholar 

  • Mall R (2009) Fundamental of software engineering. PHI Learning Private Limited, New Delhi

    Google Scholar 

  • Mani P, Prasanna M (2017) Test case generation for embedded system software using UML interaction diagram. J Eng Sci Technol 12(4):860–874

    Google Scholar 

  • Naik K, Tripathy P (2008) Software testing and quality assurance: theory and practice, 1st edn. Wiley Online Library, University of Waterloo, Waterloo, Canada

    Book  Google Scholar 

  • Nayak A, Samanta D (2010) Automatic test data synthesis using UML sequence diagrams. J Object Technol 9(2):75–104

    Article  Google Scholar 

  • Panthi V, Mohapatra DP (2014) Generating prioritized test sequences using firefly optimization technique. Computat Intell Data Min 2:627–635

    Google Scholar 

  • Panthi V, Mohapatra DP (2018) Generation and prioritization of test scenarios for object-oriented software using UML state machines. J Appl Res Technol 16:466–483

    Google Scholar 

  • Parada AG, Siegert E, De Brisolara LB (2011) Generating Java code from UML class and sequence diagrams. In: 2011 Brazilian symposium on computing system engineering. IEEE, pp 99–101

  • Pretschner A (2003) Compositional generation of MC/DC integration test suites. Electron Notes Theor Comput Sci 82(6):1–10

    Article  Google Scholar 

  • Rayadurgam S, Heimdahl MPE (2003) Generating MC/DC adequate test sequences through model checking. SEW 3:91–96

    Google Scholar 

  • Rhmann W, Zaidi T, Saxena V (2015) Use of genetic approach for test case prioritization from UML activity diagram. Int J Comput Appl 115(4):8–12

    Google Scholar 

  • Sarma M, Mall R (2007) Automatic test case generation from UML models, pp 196–201

  • Sawprakhon P, Limpiyakorn Y (2014) Sequence diagram generation with model transformation technology. Proc Int MultiConf Eng Comput Sci 1:20–30

    Google Scholar 

  • Sen K, Agha G (2006a) Cute and jCUTE: Concolic unit testing and explicit path model-checking tools. In: International conference on computer aided verification. Springer, pp 419–423

  • Sen K, Agha G (2006b) A race-detection and flipping algorithm for automated testing of multi-threaded programs. In: Haifa verification conference, volume 4383 of Lecture Notes in Computer Science, pp 166–182

  • Sen K, Marinov D, Agha G (2005) Cute: a Concolic unit testing engine for C. ACM SIGSOFT Soft Eng Notes 30:263–272

    Article  Google Scholar 

  • Shameem M, Chandra B, Kumar C, Khan AA (2018) Understanding the relationships between requirements uncertainty and nature of conflicts: a study of software development team effectiveness. Arab J Sci Eng 43(12):8223–8238

    Article  Google Scholar 

  • Stephan W, Sokenou D (2008) Automatic test case generation from UML models and ocl expressions. In: Software engineering (workshops). Citeseer, pp 423–426

  • Swain SK, Mohapatra DP, Mall R (2010) Test case generation based on use case and sequence diagram. Int J Softw Eng 3(2):21–52

    Google Scholar 

  • Vadakkumcheril T, Mythily M, Valarmathi M (2013) A simple implementation of uml sequence diagram to Java code generation through XMI representation. Int J Emerg Technol Adv Eng 2(12):4–8

    Google Scholar 

  • Vilkomir Sergiy A, Bowen Jonathan P (2006) From MC/DC to RC/DC: formalization and analysis of control-flow testing criteria. Form Aspects Comput 18(1):42–62

    Article  MATH  Google Scholar 

  • Yu Tak Y, Lau Fai M (2006) A comparison of MC/DC, MUMCUT and several other coverage criteria for logical decisions. J Syst Softw 79:577–590

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Swadhin Kumar Barisal.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Barisal, S.K., Behera, S.S., Godboley, S. et al. Validating object-oriented software at design phase by achieving MC/DC. Int J Syst Assur Eng Manag 10, 811–823 (2019). https://doi.org/10.1007/s13198-019-00815-8

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-019-00815-8

Keywords

Navigation