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.
- 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 Scholar
- And02 Introduction to mathematical logic and type theory: to truth through proof, 2nd edn2002DordrechtKluwer10.1007/978-94-015-9934-4Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BGM91 Software testing based on formal specifications: a theory and a toolSoftw Eng J19916638740510.1049/sej.1991.0040Google ScholarDigital Library
- BKM02 Boyapati C, Khurshid S, Marinov D (2002) Korat: automated testing based on Java predicates. In: ISSTA, pp 123–133Google Scholar
- 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 Scholar
- BPZ09 A formal framework for service orchestration testing based on symbolic transition systemsTestCom/FATES. Lecture notes in computer science, vol 58262009HeidelbergSpringer1632Google Scholar
- BTV09 Path feasibility analysis for string-manipulating programsTACAS. Lecture notes in computer science, vol 55052009HeidelbergSpringer307321Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BW08 An extensible encoding of object-oriented data models in HOLJ Autom Reason2008412192491191.6861910.1007/s10817-008-9108-3Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Chu40 A formulation of the simple theory of typesJ Symb Logic1940525668193110.2307/2266170Google ScholarCross Ref
- DDH72 Structured programming. In: A.P.I.C. studies in data processing, vol 819723LondonAcademic PressGoogle Scholar
- DF93 Automating 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 Scholar
- DGHP96 D’Agostino M, Gabbay D, Hähnle R, Posegga J (eds) (1996) Handbook of Tableau methods. Kluwer, DordrechtGoogle Scholar
- dHT08 Parameterized unit testing with PexTAP. Lecture notes in computer science, vol 49662008HeidelbergSpringer171181Google Scholar
- Fos80 Error sensitive test cases analysis (estca)IEEE Trans Softw Eng1980632582640431.6801710.1109/TSE.1980.234487Google ScholarDigital Library
- 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 Scholar
- GDG+08 Coverage-biased random exploration of modelsElectron Notes Theor Comput Sci2008220131410.1016/j.entcs.2008.11.002Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- GTV04 Instrumenting scenarios in a model-driven development environmentInf Softw Technol200446151027103610.1016/j.infsof.2004.07.007Google ScholarCross Ref
- 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 Scholar
- JJ05 TGV: theory, principles and algorithmsSoftw Tools Technol Transf20057429731510.1007/s10009-004-0153-xGoogle ScholarCross Ref
- 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 Scholar
- Kle09 Operating system verification—an overviewSādhanā200934127691192.68432Google ScholarCross Ref
- 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 Scholar
- MB05 Test selection strategies for lustre descriptions in GATeLElectron Notes Theor Comput Sci20051119311110.1016/j.entcs.2004.12.010Google ScholarCross Ref
- Mog91 Notions of computation and monadsInf Comput1991931559211152620723.6807310.1016/0890-5401(91)90052-4Google ScholarDigital Library
- MS04 The art of software testing2004New YorkWileyGoogle ScholarDigital Library
- Nip98 Winskel is (almost) right: towards a mechanized semantics textbookForm Asp Comp19981021711860910.6813810.1007/s001650050009Google ScholarDigital Library
- 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 Scholar
- Pau99 A generic tableau prover and its integration with isabelleJ Univ Comput Sci199953738717194460961.68116Google Scholar
- Ros98 Roscoe AW (1998) Theory and practice of concurrency. Prentice HallGoogle Scholar
- 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 Scholar
- TdH08 Pex—white box test generation for .NETTAP. Lecture notes in computer science, vol 49662008HeidelbergSpringer134153Google Scholar
- TW97 A corrected failure divergence model for CSP in Isabelle/HOLFormal Methods Europe (FME) Lecture notes in computer science, vol 13131997HeidelbergSpringer318337Google Scholar
- VCG+08 Model-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 ScholarCross Ref
- VHB+03 Model checking programsAutom Softw Eng200310220323210.1023/A:1022920129859Google ScholarDigital Library
- vO01 von Oheimb D (2001) Analyzing Java in Isabelle/HOL: formalization, type safety and Hoare logic. PhD thesis, Technische Universität MünchenGoogle Scholar
- VPK04 Test input generation with Java PathFinderSIGSOFT Softw Eng Notes20042949710710.1145/1013886.1007526Google ScholarDigital Library
- Wad95 Monads for functional programmingAdvanced functional programming .Lecture notes in computer science, vol 9251995HeidelbergSpringer245210.1007/3-540-59451-5_2Google Scholar
- Wen02 Wenzel MM (2002) Isabelle/Isar—a versatile environment for human-readable formal proof documents. PhD thesis, TU München, München, February 2002Google Scholar
- Win93 The formal semantics of programming languages1993CambridgeMIT Press0919.68082Google ScholarCross Ref
- ZHM97 Software unit test coverage and adequacyACM Comput Surv199729436642710.1145/267580.267590Google ScholarDigital Library
Recommendations
Metamorphic Testing of Logic Theorem Prover
Testing Software and SystemsAbstractThe use of Artificial Intelligence methodologies including machine learning for object recognition and other tasks as well as reasoning has recently gained more attention. This is due to the fact of applications like autonomous driving but also ...
DT-an automated theorem prover for multiple-valued first-order predicate logics
ISMVL '96: Proceedings of the 26th International Symposium on Multiple-Valued LogicWe describe the automated theorem prover "Deep Thought" (DT). The prover can be used for arbitrary multiple-valued first-order logics, provided the connectives can be defined by truth tables and the quantifiers are generalizations of the classical ...
Verified heap theorem prover by paramodulation
ICFP '12We present VeriStar, a verified theorem prover for a decidable subset of separation logic. Together with VeriSmall [3], a proved-sound Smallfoot-style program analysis for C minor, VeriStar demonstrates that fully machine-checked static analyses ...
Comments