Making a concolic tester achieve increased MC/DC

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.

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

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

[3]  Thomas A. Henzinger,et al.  The software model checker B last : Applications to software engineering , 2007 .

[4]  Michael G. Hinchey,et al.  CTMCONTROL: Addressing the MC/DC Objective for Safety-Critical Automotive Software , 2013, CARS@SAFECOMP.

[5]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[6]  Xiao Qu,et al.  A Case Study of Concolic Testing Tools and their Limitations , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[7]  Anila Mjeda Standard-compliant testing for safety-related automotive software , 2013 .

[8]  Tatsuhiro Tsuchiya,et al.  On fault classes and error detection capability of specification-based testing , 2002, TSEM.

[9]  Prasad Bokil,et al.  Automatic Test Data Generation for C Programs , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

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

[11]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[12]  Phil McMinn,et al.  Search-based software test data generation: a survey: Research Articles , 2004 .

[13]  Michael D. Ernst,et al.  Eclat: Automatic Generation and Classification of Test Inputs , 2005, ECOOP.

[14]  Thomas A. Henzinger,et al.  The software model checker Blast , 2007, International Journal on Software Tools for Technology Transfer.

[15]  Rupak Majumdar,et al.  Hybrid Concolic Testing , 2007, 29th International Conference on Software Engineering (ICSE'07).

[16]  Michael S. Hsiao,et al.  Strategies for scalable symbolic execution-driven test generation for programs , 2011, Science China Information Sciences.

[17]  David L. Spooner,et al.  Automatic Generation of Floating-Point Test Data , 1976, IEEE Transactions on Software Engineering.

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

[19]  M. A. Den Hollander,et al.  Automatic Unit Test Generation , 2010 .

[20]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[21]  Michael D. Ernst,et al.  Feedback-Directed Random Test Generation , 2007, 29th International Conference on Software Engineering (ICSE'07).

[22]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[23]  Dawson R. Engler,et al.  RWset: Attacking Path Explosion in Constraint-Based Test Generation , 2008, TACAS.

[24]  Dawson R. Engler,et al.  EXE: automatically generating inputs of death , 2006, CCS '06.

[25]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[26]  Nikolai Tillmann,et al.  Guided test generation for coverage criteria , 2010, 2010 IEEE International Conference on Software Maintenance.

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

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

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

[30]  A. Jefferson Offutt,et al.  Coverage criteria for logical expressions , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[31]  Jr. Sheldon B. Akers,et al.  On a Theory of Boolean Functions , 1959 .

[32]  Dawson R. Engler,et al.  EXE: automatically generating inputs of death , 2006, CCS '06.