Just Test What You Cannot Verify!

Today, software verification is an established analysis method which can provide high guarantees for software safety. However, the resources (time and/or memory) for an exhaustive verification are not always available, and analysis then has to resort to other techniques, like testing. Most often, the already achieved partial verification results are discarded in this case, and testing has to start from scratch.

[1]  Mark Harman,et al.  Pre/post conditioned slicing , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[2]  Robert J. Simmons,et al.  Proofs from Tests , 2008, IEEE Transactions on Software Engineering.

[3]  Yannis Smaragdakis,et al.  DSD-Crasher: A hybrid analysis tool for bug finding , 2006, TSEM.

[4]  C. Csallner,et al.  Check 'n' crash: combining static checking and testing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[5]  Thomas A. Henzinger,et al.  SYNERGY: a new algorithm for property checking , 2006, SIGSOFT '06/FSE-14.

[6]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[7]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[8]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[9]  Aniello Cimitile,et al.  Conditioned program slicing , 1998, Inf. Softw. Technol..

[10]  Thomas Ball,et al.  Testing, abstraction, theorem proving: better together! , 2006, ISSTA '06.

[11]  Doron A. Peled,et al.  Model checking, testing and verification working together , 2005, Formal Aspects of Computing.

[12]  Dirk Beyer,et al.  Status Report on Software Verification - (Competition Summary SV-COMP 2014) , 2014, TACAS.

[13]  Pankaj Jalote,et al.  Program partitioning: a framework for combining static and dynamic analysis , 2006, WODA '06.

[14]  Nikolai Tillmann,et al.  DyTa: dynamic symbolic execution guided with static verification results , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[15]  Dirk Beyer,et al.  CPAchecker: A Tool for Configurable Software Verification , 2009, CAV.

[16]  Peter Müller,et al.  Collaborative Verification and Testing with Explicit Assumptions , 2012, FM.

[17]  Thomas A. Henzinger,et al.  Conditional model checking: a technique to pass information between verifiers , 2012, SIGSOFT FSE.

[18]  George C. Necula,et al.  CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs , 2002, CC.

[19]  Thomas A. Henzinger,et al.  Generating tests from counterexamples , 2004, Proceedings. 26th International Conference on Software Engineering.

[20]  Alex Groce,et al.  Counterexample Guided Abstraction Refinement Via Program Execution , 2004, ICFEM.

[21]  Bertrand Jeannet,et al.  From Safety Verification to Safety Testing , 2004, TestCom.

[22]  Jun Chen,et al.  Towards a better collaboration of static and dynamic analyses for testing concurrent programs , 2008, PADTAD '08.

[23]  Nikolai Kosmatov,et al.  Frama-C - A Software Analysis Perspective , 2012, SEFM.

[24]  Marsha Chechik,et al.  A buffer overflow benchmark for software model checkers , 2007, ASE.

[25]  Rupak Majumdar,et al.  From Tests to Proofs , 2009, TACAS.

[26]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[27]  Hongseok Yang,et al.  Abstractions from tests , 2012, POPL '12.

[28]  Thomas A. Henzinger,et al.  Configurable Software Verification: Concretizing the Convergence of Model Checking and Program Analysis , 2007, CAV.

[29]  Nikolai Kosmatov,et al.  Program slicing enhances a verification technique combining static and dynamic analysis , 2012, SAC '12.

[30]  Mark Harman,et al.  A trajectory-based strict semantics for program slicing , 2010, Theor. Comput. Sci..

[31]  Leonardo Mariani,et al.  Verification-aided regression testing , 2014, ISSTA 2014.

[32]  Doron A. Peled,et al.  A Combined Testing and Verification Approach for Software Reliability , 2001, FME.