Using Relational Problems to Teach Property-Based Testing
John Wrenn, Tim Nelson, Shriram Krishnamurthi

TL;DR
This paper advocates using relational problems to effectively teach property-based testing (PBT), demonstrating their motivational value and providing methods to evaluate student-generated specifications in educational settings.
Contribution
It introduces relational problems as a new motivating example for PBT education and offers a simple method to assess the accuracy of student specifications.
Findings
Students can successfully apply PBT to relational problems.
Relational problems effectively motivate learning PBT concepts.
A method to evaluate the correctness of student specifications is proposed.
Abstract
Context: The success of QuickCheck has led to the development of property-based testing (PBT) libraries for many languages and the process is getting increasing attention. However, unlike regular testing, PBT is not widespread in collegiate curricula. Furthermore, the value of PBT is not limited to software testing. The growing use of formal methods in, and the growth of software synthesis, all create demand for techniques to train students and developers in the art of specification writing. We posit that PBT forms a strong bridge between testing and the act of specification: it's a form of testing where the tester is actually writing abstract specifications. Inquiry: Even well-informed technologists mention the difficulty of finding good motivating examples for its use. We take steps to fill this lacuna. Approach & Knowledge: We find that the use of "relational" problems -- those…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
