QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Korat: automated testing based on Java predicates
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Controlling factors in evaluating path-sensitive error detection techniques
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Mechanized metatheory model-checking
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A concurrent ML library in concurrent Haskell
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Proceedings of the 33rd International Conference on Software Engineering
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Testing noninterference, quickly
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Experience report: applying random testing to a base type environment
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Submodules in racket: you want it when, again?
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Formal models serve in many roles in the programming language community. In its primary role, a model communicates the idea of a language design; the architecture of a language tool; or the essence of a program analysis. No matter which role it plays, however, a faulty model doesn't serve its purpose. One way to eliminate flaws from a model is to write it down in a mechanized formal language. It is then possible to state theorems about the model, to prove them, and to check the proofs. Over the past nine years, PLT has developed and explored a lightweight version of this approach, dubbed Redex. In a nutshell, Redex is a domain-specific language for semantic models that is embedded in the Racket programming language. The effort of creating a model in Redex is often no more burdensome than typesetting it with LaTeX; the difference is that Redex comes with tools for the semantics engineering life cycle.