Narrowing the gap between verification and systematic testing

[1]  Nikolai Tillmann,et al.  MSeqGen: object-oriented unit-test generation via mining source code , 2009, ESEC/SIGSOFT FSE.

[2]  Peter Müller,et al.  Guiding Dynamic Symbolic Execution toward Unverified Program Executions , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[3]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[4]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[5]  K. Rustan M. Leino,et al.  Modular Verification of Static Class Invariants , 2005, FM.

[6]  Nikolaj Bjørner,et al.  Generalized, efficient array decision procedures , 2009, 2009 Formal Methods in Computer-Aided Design.

[7]  Sriram K. Rajamani,et al.  The YogiProject: Software Property Checking via Static Analysis and Testing , 2009, TACAS.

[8]  Frank Tip,et al.  Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit-State Model Checking , 2010, IEEE Transactions on Software Engineering.

[9]  Peter Müller,et al.  Dynamic Test Generation with Static Fields and Initializers , 2014, RV.

[10]  Thomas R. Gross,et al.  Modular reasoning about invariants over shared state with interposed data members , 2010, PLPV '10.

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

[12]  Michael R. Lowry,et al.  Combining unit-level symbolic execution and system-level concrete execution for testing nasa software , 2008, ISSTA '08.

[13]  Gerard J. Holzmann,et al.  Mars code , 2014, CACM.

[14]  Wei-Ngan Chin,et al.  Runtime Checking for Separation Logic , 2008, VMCAI.

[15]  Stephen McCamant,et al.  The Daikon system for dynamic detection of likely invariants , 2007, Sci. Comput. Program..

[16]  Sophia Drossopoulou,et al.  A Unified Framework for Verification Techniques for Object Invariants , 2008, ECOOP.

[17]  Tao Xie,et al.  DSD-Crasher: A hybrid analysis tool for bug finding , 2008 .

[18]  Xuejun Yang,et al.  Testing Static Analyzers with Randomly Generated Programs , 2012, NASA Formal Methods.

[19]  Mark Lillibridge,et al.  Extended static checking for Java , 2002, PLDI '02.

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

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

[22]  Zhenkai Liang,et al.  BitBlaze: A New Approach to Computer Security via Binary Analysis , 2008, ICISS.

[23]  Patrick Cousot,et al.  The ASTR ´ EE Analyzer , 2005 .

[24]  Koushik Sen,et al.  Symbolic Execution and Constraint Solving (Dagstuhl Seminar 14442) , 2014, Dagstuhl Reports.

[25]  Edmund M. Clarke,et al.  Counterexample-Guided Abstraction Refinement , 2000, CAV.

[26]  Shuvendu K. Lahiri,et al.  Towards Scalable Modular Checking of User-Defined Properties , 2010, VSTTE.

[27]  Peter Müller,et al.  Synthesizing Parameterized Unit Tests to Detect Object Invariant Violations , 2014, SEFM.

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

[29]  Patrice Godefroid,et al.  Proving memory safety of floating-point computations by combining static and dynamic program analysis , 2010, ISSTA '10.

[30]  David Brumley,et al.  Enhancing symbolic execution with veritesting , 2014, ICSE.

[31]  Gogul Balakrishnan,et al.  Feedback-directed unit test generation for C/C++ using concolic execution , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[32]  K. Rustan M. Leino Specification and Verification of Object-Oriented Software , 2016 .

[33]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.

[34]  Patrice Godefroid,et al.  Micro execution , 2014, ICSE.

[35]  Nikolai Tillmann,et al.  Covana: precise identification of problems in pex , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[36]  Patrice Godefroid,et al.  IC-Cut: A Compositional Search Strategy for Dynamic Test Generation , 2015, SPIN.

[37]  Daniel Kroening,et al.  Behavioral consistency of C and Verilog programs using bounded model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[38]  Patrice Godefroid,et al.  Active property checking , 2008, EMSOFT '08.

[39]  K. Rustan M. Leino,et al.  The boogie verification debugger , 2011, ICSE 2011.

[40]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[41]  Koushik Sen,et al.  Symbolic execution for software testing: three decades later , 2013, CACM.

[42]  Danfeng Zhang,et al.  Ironclad Apps: End-to-End Security via Automated Full-System Verification , 2014, OSDI.

[43]  Patrice Godefroid,et al.  Automatic partial loop summarization in dynamic test generation , 2011, ISSTA '11.

[44]  Paul H. J. Kelly,et al.  Symbolic crosschecking of floating-point and SIMD code , 2011, EuroSys '11.

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

[46]  Sarfraz Khurshid,et al.  Test input generation with java PathFinder , 2004, ISSTA '04.

[47]  David Notkin,et al.  Symstra: A Framework for Generating Object-Oriented Unit Tests Using Symbolic Execution , 2005, TACAS.

[48]  Gary T. Leavens,et al.  Modular invariants for layered object structures , 2006, Sci. Comput. Program..

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

[50]  Yannis Smaragdakis,et al.  JCrasher: an automatic robustness tester for Java , 2004, Softw. Pract. Exp..

[51]  K. Rustan M. Leino,et al.  Efficient weakest preconditions , 2005, Inf. Process. Lett..

[52]  Patrice Godefroid,et al.  Precise pointer reasoning for dynamic test generation , 2009, ISSTA.

[53]  Dawson R. Engler,et al.  Execution Generated Test Cases: How to Make Systems Code Crash Itself , 2005, SPIN.

[54]  Sriram K. Rajamani,et al.  Boolean Programs: A Model and Process for Software Analysis , 2000 .

[55]  Thomas Santen,et al.  Verifying the Microsoft Hyper-V Hypervisor with VCC , 2009, FM.

[56]  Patrice Godefroid,et al.  Compositional dynamic test generation , 2007, POPL '07.

[57]  Tobias Nipkow,et al.  Isabelle/HOL , 2002, Lecture Notes in Computer Science.

[58]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[59]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[60]  George Candea,et al.  Efficient state merging in symbolic execution , 2012, Software Engineering.

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

[62]  Zhendong Su,et al.  Steering symbolic execution to less traveled paths , 2013, OOPSLA.

[63]  Bertrand Meyer,et al.  A comparative study of programmer-written and automatically inferred contracts , 2009, ISSTA.

[64]  Thomas R. Gross,et al.  Verifying Multi-object Invariants with Relationships , 2011, ECOOP.

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

[66]  Paul H. J. Kelly,et al.  Symbolic Testing of OpenCL Code , 2011, Haifa Verification Conference.

[67]  Patrice Godefroid,et al.  Software partitioning for effective automated unit testing , 2006, EMSOFT '06.

[68]  Nicholas Nethercote,et al.  Valgrind: a framework for heavyweight dynamic binary instrumentation , 2007, PLDI '07.

[69]  Koushik Sen,et al.  GuideSE: Annotations for Guiding Concolic Testing , 2015, 2015 IEEE/ACM 10th International Workshop on Automation of Software Test.

[70]  Paolo Tonella,et al.  Evolutionary testing of classes , 2004, ISSTA '04.

[71]  Michael D. Ernst,et al.  Empirically revisiting the test independence assumption , 2014, ISSTA 2014.

[72]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[73]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[74]  Nikolai Tillmann,et al.  Automating Software Testing Using Program Analysis , 2008, IEEE Software.

[75]  Jan Smans,et al.  Verification of Concurrent Programs with Chalice , 2009, FOSAD.

[76]  Todd Millstein,et al.  Automatic predicate abstraction of C programs , 2001, PLDI '01.

[77]  Chris Hawblitzel,et al.  Safe to the last instruction: automated verification of a type-safe operating system , 2010, PLDI '10.

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

[79]  Michael D. Ernst,et al.  Combined static and dynamic automated test generation , 2011, ISSTA '11.

[80]  Shuvendu K. Lahiri,et al.  A Solver for Reachability Modulo Theories , 2012, CAV.

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

[82]  Patrice Godefroid,et al.  Proving Memory Safety of the ANI Windows Image Parser Using Compositional Exhaustive Testing , 2015, VMCAI.

[83]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[84]  Sriram K. Rajamani,et al.  The SLAM Toolkit , 2001, CAV.

[85]  Karl Crary,et al.  From system F to typed assembly language , 1999, TOPL.

[86]  Nikolai Kosmatov,et al.  The SANTE Tool: Value Analysis, Program Slicing and Test Generation for C Program Debugging , 2011, TAP@TOOLS.

[87]  Bertrand Meyer,et al.  Programs That Test Themselves , 2009, Computer.

[88]  Patrice Godefroid,et al.  Billions and billions of constraints: Whitebox fuzz testing in production , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[89]  Heike Wehrheim,et al.  Just Test What You Cannot Verify! , 2015, FASE.

[90]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[91]  Nikolai Tillmann,et al.  Demand-Driven Compositional Symbolic Execution , 2008, TACAS.

[92]  Zhendong Su,et al.  Synthesizing method sequences for high-coverage testing , 2011, OOPSLA '11.

[93]  K. Rustan M. Leino,et al.  Using the Spec# Language, Methodology, and Tools to Write Bug-Free Programs , 2008, LASER Summer School.

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

[95]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[96]  Rupak Majumdar,et al.  Reducing Test Inputs Using Information Partitions , 2009, CAV.

[97]  Akash Lal,et al.  Powering the static driver verifier using corral , 2014, SIGSOFT FSE.

[98]  George C. Necula,et al.  CCured: type-safe retrofitting of legacy code , 2002, SIGP.

[99]  Nikolai Tillmann,et al.  Parameterized unit tests , 2005, ESEC/FSE-13.

[100]  Manuel Fähndrich,et al.  Embedded contract languages , 2010, SAC '10.

[101]  Mark A. Hillebrand,et al.  VCC: A Practical System for Verifying Concurrent C , 2009, TPHOLs.

[102]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[103]  K. Rustan M. Leino,et al.  Dafny: An Automatic Program Verifier for Functional Correctness , 2010, LPAR.

[104]  Manuel Fähndrich,et al.  Static Contract Checking with Abstract Interpretation , 2010, FoVeOOS.

[105]  Tao Xie,et al.  Evacon: a framework for integrating evolutionary and concolic testing for object-oriented programs , 2007, ASE.

[106]  William R. Bush,et al.  A static analyzer for finding dynamic programming errors , 2000 .

[107]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[108]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[109]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[110]  Sarfraz Khurshid,et al.  Symbolic execution for software testing in practice: preliminary assessment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[111]  Guy L. Steele,et al.  The Java Language Specification, Java SE 8 Edition , 2013 .

[112]  Patrice Godefroid,et al.  Automated Whitebox Fuzz Testing , 2008, NDSS.

[113]  Sriram K. Rajamani,et al.  Compositional may-must program analysis: unleashing the power of alternation , 2010, POPL '10.

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

[115]  K. Rustan M. Leino,et al.  Specification and verification , 2011, Commun. ACM.