Software testing based on formal specifications: a theory and a tool
Software Engineering Journal
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Testing monadic code with QuickCheck
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Using On-The-Fly Verification Techniques for the Generation of test Suites
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
A Generic Programming Extension for Clean
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Theorem Proving for Functional Programmers
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Polytypic Values Possess Polykinded Types
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Conformance Testing of a Multimedia System Using PHACT
IWTCS Proceedings of the IFIP TC6 11th International Workshop on Testing Communicating Systems
Protocol-Inspired Hardware Testing
Proceedings of the IFIP TC6 12th International Workshop on Testing Communicating Systems: Method and Applications
Formal Test Automation: A Simple Experiment
Proceedings of the IFIP TC6 12th International Workshop on Testing Communicating Systems: Method and Applications
Inductive benchmarking for purely functional data structures
Journal of Functional Programming
Scrap more boilerplate: reflection, zips, and generalised casts
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Systematic generation of glass-box test cases for functional logic programs
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Data-flow testing of declarative programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Smallcheck and lazy smallcheck: automatic exhaustive testing for small values
Proceedings of the first ACM SIGPLAN symposium on Haskell
Comparing libraries for generic programming in haskell
Proceedings of the first ACM SIGPLAN symposium on Haskell
Test Data Generation of Bytecode by CLP Partial Evaluation
Logic-Based Program Synthesis and Transformation
Testing properties of generic functions
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Comparing approaches to generic programming in Haskell
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Functional testing in the focal environment
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Model based testing with labelled transition systems
Formal methods and testing
Testing real-time systems using UPPAAL
Formal methods and testing
Proof-Guided Test Selection from First-Order Specifications with Equality
Journal of Automated Reasoning
Testing with functional reference implementations
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Model-based testing of industrial transformational systems
ICTSS'11 Proceedings of the 23rd IFIP WG 6.1 international conference on Testing software and systems
Test generation based on symbolic specifications
FATES'04 Proceedings of the 4th international conference on Formal Approaches to Software Testing
Dynamic construction of generic functions
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Generic graphical user interfaces
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Proof tool support for explicit strictness
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Model-Based testing of thin-client web applications
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Automatic testing of higher order functions
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Test-Case generation for maude functional modules
WADT'10 Proceedings of the 20th international conference on Recent Trends in Algebraic Development Techniques
Trends in Trends in Functional Programming 1999/2000 versus 2007/2008
Higher-Order and Symbolic Computation
Test input generation using dynamic programming
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
The scalable commutativity rule: designing scalable software for multicore processors
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Hi-index | 0.00 |
Software testing is a labor-intensive, and hence expensive, yet heavily used technique to control quality. In this paper we introduce GAST, a fully automatic test tool. Properties about functions and datatypes can be expressed in first order logic. GAST automatically and systematically generates appropriate test data, evaluates the property for these values, and analyzes the test results. This makes it easier and cheaper to test software components. The distinguishing property of our system is that the test data are generated in a systematic and generic way using generic programming techniques. This implies that there is no need for the user to indicate how data should be generated. Moreover, duplicated tests are avoided, and for finite domains GAST is able to prove a property by testing it for all possible values. As an important side-effect, it also encourages stating formal properties of the software.