Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Conformance testing with labelled transition systems: implementation relations and test generation
Computer Networks and ISDN Systems - Special issue on protocol testing
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
Specification and proof in membership equational logic
Theoretical Computer Science - Trees in algebra and programming
Test-infected: programmers love writing tests
More Java gems
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Counterexamples to Completeness Results for Basic Narrowing (Extended Abstract)
Proceedings of the Third International Conference on Algebraic and Logic Programming
The rewriting logic semantics project
Theoretical Computer Science
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
Smallcheck and lazy smallcheck: automatic exhaustive testing for small values
Proceedings of the first ACM SIGPLAN symposium on Haskell
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
Test case generation for object-oriented imperative languages in clp*
Theory and Practice of Logic Programming
A PropEr integration of types and function specifications with property-based testing
Proceedings of the 10th ACM SIGPLAN workshop on Erlang
An executable formal semantics of C with applications
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Test-Case generation for maude functional modules
WADT'10 Proceedings of the 20th international conference on Recent Trends in Algebraic Development Techniques
Using narrowing to test maude specifications
WRLA'12 Proceedings of the 9th international conference on Rewriting Logic and Its Applications
Hi-index | 0.00 |
Testing is one of the most important and most time-consuming tasks in the software developing process and thus techniques and systems to generate and check test cases have become crucial. For these reasons, when specifying a prototype of a programming language it may be very useful to have a tool that, beyond testing the semantics of the program, generates test cases for the programs written in the specified language. In this way, we could use the test cases generated in the prototyping stage to check the implementation. To build these prototypes we can use rewriting logic, which has been proposed as a logical framework where other logics can be represented, and as a semantic framework for the specification of languages and systems. In this paper we propose a technique to generate test cases for programs written in programming languages specified in Maude, although it can be generalized to similar languages. In this way Maude becomes an even more powerful prototyping language providing a test-case generator (in addition to an interpreter of the language). The test cases can be generated in two ways: computing a set of test cases using all the instructions required by a given coverage criterion or trying to disprove a property over the program. This methodology has been implemented in a Maude prototype and its use is described by means of an example.