Skip to main content
Log in

Making a concolic tester achieve increased MC/DC

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Concolic testing techniques do not necessarily aim to achieve a specific MC/DC coverage. On the other hand, MC/DC is considered as a standard and a strong test coverage criterion. It is mandated for many categories of applications such as safety critical software. We present an automated code transformation technique that can be used as a front end to a concolic tester for achieving high MC/DC. Our experimentation on seventeen moderately complex programs shows that our approach achieves higher MC/DC over traditional concolic tester on the average by 24.84 %, for the code we tested.

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

References

  1. King JC (1976) Symbolic execution and program testing. Commun ACM 19(7):385–394

    Article  MathSciNet  MATH  Google Scholar 

  2. Miller W, Spooner DL (1976) Automatic generation of floating-point test data. IEEE Trans Softw Eng 2(3):223–226

    Article  MathSciNet  Google Scholar 

  3. Godefroid P, Klarlund N, Sen K (2005) DART: Directed automated random testing. In: Proceedings of PLDI, New York, USA, pp 75–84

  4. Pacheco C, Lahiri SK, Ernst MD, Ball T (2007) Feedback-directed random test generation. In: Proceedings of ICSE, Minneapolis, USA, pp 75–84

  5. RTCA Inc. (2011) RTCA/DO-178C, Software Considerations in Airborne Systems and Equipment Certification, Washington, D.C. December, Issue Date 13/12/2011

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

  7. Richard Kuhn D (1999) Fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol 8(4):411–424

    Article  Google Scholar 

  8. Akers SB (1959) On a theory of boolean functions. J Soc Ind Appl Math 7(4):487–498

    Article  MATH  Google Scholar 

  9. Hayhurst KJ, Veerhusen DS, Chilenski JJ, Rierson LK (2001) A practical tutorial on modified condition/decision coverage, NASA/TM-2001-210876

  10. Ammann P, Offutt J, Huang H (2003) Coverage criteria for logical expression. In: Proceedings of ISSRE, Washington, D.C., USA, pp 99–107

  11. Hollander MD (2010) Automatic unit test generation. In: Master thesis, Software Engineering Research Group, Delft University of Technology, Delft, The Netherlands

  12. Cadar C, Ganesh V, Pawlowski PM, Dill David L, Dawson R (2006) EXE: Automatically generating inputs of death. In: Proceedings of ACM conference on computer and communications security. New York, NY, USA, pp 322–335

  13. Pacheco C, Ernst MD (2005) Eclat: automatic generation and classification of test inputs. In: Proceedings of ECOOP, New York, NY, USA, pp 263–272

  14. Sen K, Marinov D, Agha G (2005) CUTE: a concolic unit testing engine for C. In: Proceedings of ESEC/FSE, Lisbon, Portugal, pp 263–272

  15. Majumder R, Sen K (2007) Hybrid concolic testing. In: Proceedings of ASE, Washington, D.C., USA, pp 416–426

  16. Burnim J, Sen K (2008) Heuristics for scalable dynamic test generation. In: Proceedings of ASE, Washington, D.C., USA, pp 443–446

  17. Pandita R, Xie T, Tillmann N, de Halleux J (2010) Guided test generation for coverage criteria. In: Proceedings of ICSM, Timisoara, Romania, pp 1–10

  18. Awedikian Z, Ayari K, Antoniol G (2009) MC/DC automatic test input data generation. In: Proceedings of GECCO, New York, USA, pp 1657–1664

  19. McMinn P (2004) Search-based software test data generation: a survey: research articles. Softw Test, Verif Reliab 14(2):105–156

    Article  Google Scholar 

  20. Das Avijit (2012) Automatic generation of MC/DC test data. In: Master Thesis, computer science and engineering, Indian Institute of Technology, Kharagpur, India

  21. Krishnamoorthy S, Hsiao SM, Lingappan L (2011) Strategies for scalable symbolic execution-driven test generation for programs. Sci China Info Sci 54:1797–1812

    Article  MathSciNet  MATH  Google Scholar 

  22. CREST. http://code.google.com/p/crest. Accessed 25 Feb 2016

  23. Harrold J, Rothermel G Siemens programs and HR variants. http://www.cc.gatech.edu/aristotle/Tools/subjects/. Accessed 25 Feb 2016

  24. Qu X, Robinson B (2011) A case study of concolic testing tools and their limitations. In: Proceedings of ESEM, Washington, D.C.,USA, pp 117–126

  25. Bokil P, Darke P, Shrotri U, Venkatesh R (2009) Automatic test data generation for C Programs. In: 3rd IEEE International Conference on Secure Software Integration and Reliability Improvement

  26. Beyer D, Henzinger TA, Ranjit J, Majumdar R (2007) The software model checker blast. Int J Softw Tools Technol Transf (STTT) 9(5):505–525

    Article  Google Scholar 

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

  28. Godboley S, Mohaptra DP, Mall R (2015) \(J^3\) Model: a novel framework for improved modified condition / decision coverage analysis. Comput Stand Interfaces, Elsevier (Communicated)

  29. Mjeda A, Hinchey M (2013) CTMCONTROL: addressing the MC/DC objective for safety-critical automotive software. In: 2nd workshop on critical automotive applications : robustness and safety), a part of the 32nd international conference on computer safety, reliability and security. Toulouse, France, Sep 2013

  30. Mjeda A (2013) Standard-compliant testing for safety-related automotive software. PhD. Thesis. University of Limerick. http://hdl.handle.net/10344/3608

  31. Sen K, Agha G (2006) CUTE and jCUTE: concolic unit testing and explicit path model-checking tools (tools paper). DTIC document

  32. Boonstoppel P, Cadar C, Engler D (2008) RWset: attacking path explosion in constraint-based test generation. In: TACAS08: international conference on tools and algorithms for the constructions and analysis of systems

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sangharatna Godboley.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Godboley, S., Dutta, A., Mohapatra, D.P. et al. Making a concolic tester achieve increased MC/DC. Innovations Syst Softw Eng 12, 319–332 (2016). https://doi.org/10.1007/s11334-016-0284-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-016-0284-8

Keywords

Navigation