LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Temporal Query Languages: A Survey
ICTL '94 Proceedings of the First International Conference on Temporal Logic
Combining test case generation and runtime verification
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Relational queries over program traces
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Testing telecoms software with quviq QuickCheck
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
Proceedings of the third ACM SIGPLAN conference on History of programming languages
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
Property-Based testing and verification: a catalog of classroom examples
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
Asynchronous events are awkward to handle in specification-based testing. State machine specifications become very complex when variable event order, timing constraints, and timing uncertainties must all be captured. We propose an alternative formalism for specifying asynchronous behaviour based on temporal relations, designed to support more declarative and modular specifications. Temporal relations are in a sense a combination of bulk data types and temporal logic. We illustrate the formalism by specifying parts of a simplified instant messaging server, and show that it can handle timing uncertainty very simply. We have implemented the formalism as part of Quviq QuickCheck, a commercial specification-based testing tool, and we describe its application to testing ejabberd, the leading instant messaging server based on the open XMPP protocol.