skip to main content
research-article
Open Access

On theorem prover-based testing

Authors Info & Claims
Published:01 September 2013Publication History
Skip Abstract Section

Abstract

Abstract

HOL-TestGen is a specification and test case generation environment extending the interactive theorem prover Isabelle/HOL. As such, Testgen allows for an integrated workflow supporting interactive theorem proving, test case generation, and test data generation. The HOL-TestGen method is two-staged: first, the original formula is partitioned into test cases by transformation into a normal form called test theorem. Second, the test cases are analyzed for ground instances (the test data) satisfying the constraints of the test cases. Particular emphasis is put on the control of explicit test-hypotheses which can be proven over concrete programs. Due to the generality of the underlying framework, our system can be used for black-box unit, sequence, reactive sequence and white-box test scenarios. Although based on particularly clean theoretical foundations, the system can be applied for substantial case-studies.

References

  1. AHN08 Aehlig K, Haftmann F, Nipkow T (2008) A compiled implementation of normalization by evaluation. In: Mohamed, OA, Muñoz C, Tahar S (eds) Theorem proving in higher order logics. Lecture notes in computer science, vol 5170, Heidelberg, August 2008. Springer, Berlin, pp 39–54Google ScholarGoogle Scholar
  2. And02 Andrews PBIntroduction to mathematical logic and type theory: to truth through proof, 2nd edn2002DordrechtKluwer10.1007/978-94-015-9934-4Google ScholarGoogle Scholar
  3. APV07 Anand S, Pasareanu CS, Visser W (2007) JPF-SE: a symbolic execution extension to Java PathFinder. In: Grumberg O, Huth M (eds) TACAS. Lecture notes in computer science, vol 4424. Springer-Verlag, Heidelberg, pp 134–138Google ScholarGoogle Scholar
  4. BBKW10 Brucker AD, Brügger L, Kearney P, Wolff B (2010) Verified firewall policy transformations for test-case generation. In: Third international conference on software testing, verification, and validation (ICST), pp 345–354Google ScholarGoogle Scholar
  5. BBKW11 Brucker AD, Brügger L, Kearney P, Wolff B (2011) An approach to modular and testable security models of real-world health-care applications. In: ACM symposium on access control models and technologies (SACMAT). ACM Press, pp 133–142Google ScholarGoogle Scholar
  6. BBW08 Brucker AD, Brügger L, Wolff B (2008) Model-based firewall conformance testing. In: Suzuki K, Higashino T (eds) Testcom/FATES 2008. Lecture notes in computer science, vol 5047. Springer, New York, pp 103–118Google ScholarGoogle Scholar
  7. BGM91 Bernot GGaudel MCMarre BSoftware testing based on formal specifications: a theory and a toolSoftw Eng J19916638740510.1049/sej.1991.0040Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BKM02 Boyapati C, Khurshid S, Marinov D (2002) Korat: automated testing based on Java predicates. In: ISSTA, pp 123–133Google ScholarGoogle Scholar
  9. BN04 Berghofer S, Nipkow T (2004) Random testing in Isabelle/HOL. In: Software engineering and formal methods (SEFM), Los Alamitos, CA, USA. IEEE Computer Society, pp 230–239Google ScholarGoogle Scholar
  10. BPZ09 Bentakouk LPoizat PZaïdi FNéñez MBaker PMerayo MGA formal framework for service orchestration testing based on symbolic transition systemsTestCom/FATES. Lecture notes in computer science, vol 58262009HeidelbergSpringer1632Google ScholarGoogle Scholar
  11. BTV09 Bjørner NTillmann NVoronkov AKowalewski SPhilippou APath feasibility analysis for string-manipulating programsTACAS. Lecture notes in computer science, vol 55052009HeidelbergSpringer307321Google ScholarGoogle Scholar
  12. BW04 Brucker AD, Wolff B (2004) Symbolic test case generation for primitive recursive functions. In: Grabowski J, Nielsen B (eds) Formal approaches to testing of software. Lecture notes in computer science, vol 3395. Springer, pp 16–32Google ScholarGoogle Scholar
  13. BW05 Brucker AD, Wolff B (2005) Interactive testing using HOL–TESTGEN. In: Grieskamp W, Weise C (eds) Formal approaches to testing of software. Lecture notes in computer science, vol 3997. Springer-VerlagGoogle ScholarGoogle Scholar
  14. BW07 Brucker AD, Wolff B (2007) Test-sequence generation with HOL-TESTGEN—with an application to firewall testing. In: Meyer B, Gurevich Y (eds) TAP 2007: tests and proofs. Lecture notes in computer science, vol 4454. Springer, pp 149–168Google ScholarGoogle Scholar
  15. BW08 Brucker ADWolff BAn extensible encoding of object-oriented data models in HOLJ Autom Reason2008412192491191.6861910.1007/s10817-008-9108-3Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. BW09 Brucker AD, Wolff B (2009) HOL–TESTGEN: an interactive test-case generation framework. In: Chechik M, Wirsing M (eds) Fundamental approaches to software engineering FASE09. Lecture notes in computer science, vol 5503. Springer, pp 417–420Google ScholarGoogle Scholar
  17. CH00 Claessen K, Hughes J (2000) QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of the the fifth ACM SIGPLAN international conference on functional programming, New York, USA. ACM Press, pp 268–279Google ScholarGoogle Scholar
  18. Chu40 Church AA formulation of the simple theory of typesJ Symb Logic1940525668193110.2307/2266170Google ScholarGoogle ScholarCross RefCross Ref
  19. DDH72 Dahl O-JDijkstra EWHoare CARStructured programming. In: A.P.I.C. studies in data processing, vol 819723LondonAcademic PressGoogle ScholarGoogle Scholar
  20. DF93 Dick JFaivre AWoodcock JCPLarsen PGAutomating the generation and sequencing of test cases from model-based specificationsFormal methods Europe 93: industrial-strength formal methods. Lecture notes in computer science, vol 6701993HeidelbergSpringer26828410.1007/BFb0024651Google ScholarGoogle Scholar
  21. DGHP96 D’Agostino M, Gabbay D, Hähnle R, Posegga J (eds) (1996) Handbook of Tableau methods. Kluwer, DordrechtGoogle ScholarGoogle Scholar
  22. dHT08 de Halleux JTillmann NBeckert BHähnle RParameterized unit testing with PexTAP. Lecture notes in computer science, vol 49662008HeidelbergSpringer171181Google ScholarGoogle Scholar
  23. Fos80 Foster KAError sensitive test cases analysis (estca)IEEE Trans Softw Eng1980632582640431.6801710.1109/TSE.1980.234487Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Gau95 Gaudel MC (1995) Testing can be formal, too. In: Mosses PD, Nielsen M, Schwartzbach MI (eds) TAPPSOFT’95: theory and practice of software development. Lecture notes in computer science, vol 915. Springer, Heidelberg, pp 82–96Google ScholarGoogle Scholar
  25. GDG+08 Gaudel M-CDenise AGouraud S-DLassaigne ROudinet JPeyronnet SCoverage-biased random exploration of modelsElectron Notes Theor Comput Sci2008220131410.1016/j.entcs.2008.11.002Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. GK02 Gallaher MP, Kropp BM (2002) The economic impacts of inadequate infrastructure for software testing. Technical Report Planning Report 02-03, National Institute of Standards & Technology, May 2002Google ScholarGoogle Scholar
  27. GKM+08 Grieskamp W, Kicillof N, MacDonald D, Nandan A, Stobie K, Wurden FL (2008) Model-based quality assurance of windows protocol documentation. In: Software testing, verification, and validation (ICST), vol 0, Los Alamitos, CA, USA. IEEE Computer Society, pp 502–506Google ScholarGoogle Scholar
  28. GTV04 Grieskamp WTillmann NVeanes MInstrumenting scenarios in a model-driven development environmentInf Softw Technol200446151027103610.1016/j.infsof.2004.07.007Google ScholarGoogle ScholarCross RefCross Ref
  29. Hui07 Huima A (2007) Implementing conformiq qtronic. In: Petrenko A, Veanes M, Tretmans J, Grieskamp W (eds) TestCom/FATES. Lecture notes in computer science, vol 4581. Springer, Heidelberg, pp 1–12Google ScholarGoogle Scholar
  30. JJ05 Jard CJéron TTGV: theory, principles and algorithmsSoftw Tools Technol Transf20057429731510.1007/s10009-004-0153-xGoogle ScholarGoogle ScholarCross RefCross Ref
  31. JL07 Jaffuel E, Legeard B (2007) Leirios test generator: automated test generation from b models. In: Julliand J, Kouchnarenko O (eds) Lecture notes in computer science, vol 4355. Springer, Heidelberg, pp 277–280Google ScholarGoogle Scholar
  32. Kle09 Klein GOperating system verification—an overviewSādhanā200934127691192.68432Google ScholarGoogle ScholarCross RefCross Ref
  33. LMR08 Lange C, McLaughlin S, Rabe F (2008) Flyspeck in a semantic Wiki. In: Lange C, Schaffert S, Skaf-Molli H, Völkel M (eds) SemWiki. CEUR workshop proceedings, vol 360. CEUR-WS.orgGoogle ScholarGoogle Scholar
  34. MB05 Marre BBlanc BTest selection strategies for lustre descriptions in GATeLElectron Notes Theor Comput Sci20051119311110.1016/j.entcs.2004.12.010Google ScholarGoogle ScholarCross RefCross Ref
  35. Mog91 Moggi ENotions of computation and monadsInf Comput1991931559211152620723.6807310.1016/0890-5401(91)90052-4Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. MS04 Myers GJSandler CThe art of software testing2004New YorkWileyGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  37. Nip98 Nipkow TWinskel is (almost) right: towards a mechanized semantics textbookForm Asp Comp19981021711860910.6813810.1007/s001650050009Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. NPW02 Nipkow T, Paulson LC, Wenzel M (2002) Isabelle/HOL—a proof assistant for higher-order logic. Lecture notes in computer science, vol 2283. Springer, HeidelbergGoogle ScholarGoogle Scholar
  39. Pau99 Paulson LCA generic tableau prover and its integration with isabelleJ Univ Comput Sci199953738717194460961.68116Google ScholarGoogle Scholar
  40. Ros98 Roscoe AW (1998) Theory and practice of concurrency. Prentice HallGoogle ScholarGoogle Scholar
  41. TB03 Tretmans GJ, Brinksma H (2003) Torx: automated model-based testing. In: Hartman A, Dussa-Ziegler K (eds) First European conference on model-driven software engineering, Nuremberg, Germany, pp 31–43Google ScholarGoogle Scholar
  42. TdH08 Tillmann Nde Halleux JBeckert BHähnle RPex—white box test generation for .NETTAP. Lecture notes in computer science, vol 49662008HeidelbergSpringer134153Google ScholarGoogle Scholar
  43. TW97 Tej HWolff BFitzgerald JSJones CBLucas PA corrected failure divergence model for CSP in Isabelle/HOLFormal Methods Europe (FME) Lecture notes in computer science, vol 13131997HeidelbergSpringer318337Google ScholarGoogle Scholar
  44. VCG+08 Veanes MCampbell CGrieskamp WSchulte WTillmann NNachmanson LHierons RMBowen JPHarman MModel-based testing of object-oriented reactive systems with spec explorerFormal methods and testing2008vol 4949. SpringerLecture notes in computer science397610.1007/978-3-540-78917-8_2Google ScholarGoogle ScholarCross RefCross Ref
  45. VHB+03 Visser WHavelund KBrat GPPark SLerda FModel checking programsAutom Softw Eng200310220323210.1023/A:1022920129859Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. vO01 von Oheimb D (2001) Analyzing Java in Isabelle/HOL: formalization, type safety and Hoare logic. PhD thesis, Technische Universität MünchenGoogle ScholarGoogle Scholar
  47. VPK04 Visser WPăsăreanu CSKhurshid STest input generation with Java PathFinderSIGSOFT Softw Eng Notes20042949710710.1145/1013886.1007526Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Wad95 Wadler PJeuring JMeijer EMonads for functional programmingAdvanced functional programming .Lecture notes in computer science, vol 9251995HeidelbergSpringer245210.1007/3-540-59451-5_2Google ScholarGoogle Scholar
  49. Wen02 Wenzel MM (2002) Isabelle/Isar—a versatile environment for human-readable formal proof documents. PhD thesis, TU München, München, February 2002Google ScholarGoogle Scholar
  50. Win93 Winskel GThe formal semantics of programming languages1993CambridgeMIT Press0919.68082Google ScholarGoogle ScholarCross RefCross Ref
  51. ZHM97 Zhu HHall PAVMay JHRSoftware unit test coverage and adequacyACM Comput Surv199729436642710.1145/267580.267590Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader