• DocumentCode
    1465891
  • Title

    Proofs from Tests

  • Author

    Beckman, Nels E. ; Nori, Aditya V. ; Rajamani, Sriram K. ; Simmons, Robert J. ; Tetali, Sai Deep ; Thakur, Aditya V.

  • Author_Institution
    Carnegie Mellon Univ., Pittsburgh, PA, USA
  • Volume
    36
  • Issue
    4
  • fYear
    2010
  • Firstpage
    495
  • Lastpage
    508
  • Abstract
    We present an algorithm DASH to check if a program P satisfies a safety property φ. The unique feature of this algorithm is that it uses only test generation operations, and it refines and maintains a sound program abstraction as a consequence of failed test generation operations. Thus, each iteration of the algorithm is inexpensive, and can be implemented without any global may-alias information. In particular, we introduce a new refinement operator WPα that uses only the alias information obtained by symbolically executing a test to refine abstractions in a sound manner. We present a full exposition of the DASH algorithm and its theoretical properties. We have implemented DASH in a tool called YOGI that plugs into Microsoft´s Static Driver Verifier framework. We have used this framework to run YOGI on 69 Windows Vista drivers with 85 properties and find that YOGI scales much better than SLAM, the current engine driving Microsoft´s Static Driver Verifier.
  • Keywords
    operating systems (computers); program testing; program verification; DASH algorithm; Microsoft static driver verifier framework; Windows Vista drivers; YOGI tool; software model checking; test generation operations; Software model checking; abstraction refinement.; directed testing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2010.49
  • Filename
    5444886