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.
Similar content being viewed by others
References
King JC (1976) Symbolic execution and program testing. Commun ACM 19(7):385–394
Miller W, Spooner DL (1976) Automatic generation of floating-point test data. IEEE Trans Softw Eng 2(3):223–226
Godefroid P, Klarlund N, Sen K (2005) DART: Directed automated random testing. In: Proceedings of PLDI, New York, USA, pp 75–84
Pacheco C, Lahiri SK, Ernst MD, Ball T (2007) Feedback-directed random test generation. In: Proceedings of ICSE, Minneapolis, USA, pp 75–84
RTCA Inc. (2011) RTCA/DO-178C, Software Considerations in Airborne Systems and Equipment Certification, Washington, D.C. December, Issue Date 13/12/2011
Chilenski JJ, Miller SP (1994) Applicability of modified condition/decision coverage to software testing. Softw Eng J 9(5):193–200
Richard Kuhn D (1999) Fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol 8(4):411–424
Akers SB (1959) On a theory of boolean functions. J Soc Ind Appl Math 7(4):487–498
Hayhurst KJ, Veerhusen DS, Chilenski JJ, Rierson LK (2001) A practical tutorial on modified condition/decision coverage, NASA/TM-2001-210876
Ammann P, Offutt J, Huang H (2003) Coverage criteria for logical expression. In: Proceedings of ISSRE, Washington, D.C., USA, pp 99–107
Hollander MD (2010) Automatic unit test generation. In: Master thesis, Software Engineering Research Group, Delft University of Technology, Delft, The Netherlands
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
Pacheco C, Ernst MD (2005) Eclat: automatic generation and classification of test inputs. In: Proceedings of ECOOP, New York, NY, USA, pp 263–272
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
Majumder R, Sen K (2007) Hybrid concolic testing. In: Proceedings of ASE, Washington, D.C., USA, pp 416–426
Burnim J, Sen K (2008) Heuristics for scalable dynamic test generation. In: Proceedings of ASE, Washington, D.C., USA, pp 443–446
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
Awedikian Z, Ayari K, Antoniol G (2009) MC/DC automatic test input data generation. In: Proceedings of GECCO, New York, USA, pp 1657–1664
McMinn P (2004) Search-based software test data generation: a survey: research articles. Softw Test, Verif Reliab 14(2):105–156
Das Avijit (2012) Automatic generation of MC/DC test data. In: Master Thesis, computer science and engineering, Indian Institute of Technology, Kharagpur, India
Krishnamoorthy S, Hsiao SM, Lingappan L (2011) Strategies for scalable symbolic execution-driven test generation for programs. Sci China Info Sci 54:1797–1812
CREST. http://code.google.com/p/crest. Accessed 25 Feb 2016
Harrold J, Rothermel G Siemens programs and HR variants. http://www.cc.gatech.edu/aristotle/Tools/subjects/. Accessed 25 Feb 2016
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
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
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
Das A, Mall R (2013) Automatic generation of MC/DC test data. Int J Softw Eng, Acta Press 2(1):1–8
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)
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
Mjeda A (2013) Standard-compliant testing for safety-related automotive software. PhD. Thesis. University of Limerick. http://hdl.handle.net/10344/3608
Sen K, Agha G (2006) CUTE and jCUTE: concolic unit testing and explicit path model-checking tools (tools paper). DTIC document
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-016-0284-8