Wed 24 Mar 2021 15:00 - 15:30 at Virtual Space A - Session 3 Chair(s): Jeremy Gibbons
Fri 26 Mar 2021 15:00 - 15:30 at Virtual Space A - Session 16 Chair(s): Theo D'Hondt

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 for which an input may admit multiple valid outputs—easily motivates the use of PBT. We also notice that such problems are readily available in the computer science pantheon of problems (e.g., many graph and sorting algorithms). We have been using these for some years now to teach PBT in collegiate courses.

GROUNDING In this paper, we describe the problems we use and report on students’ completion of them. We believe the problems overcome some of the motivation issues described above. We also show that students can do quite well at PBT for these problems, suggesting that the topic is well within their reach. In the process, we introduce a simple method to evaluate the accuracy of their specifications, and use it to characterize their common mistakes.

IMPORTANCE Based on our findings, we believe that relational problems are an underutilized motivating example for PBT. We hope this paper initiates a catalog of such problems for educators (and developers) to use, and also provides a concrete (though by no means exclusive) method to analyze the quality of PBT.

Wed 24 Mar

Displayed time zone: Belfast change

15:00 - 16:30
Session 3Research Papers at Virtual Space A
Chair(s): Jeremy Gibbons Department of Computer Science, University of Oxford
15:00
30m
Live Q&A
Using Relational Problems to Teach Property-Based Testing
Research Papers
John Wrenn Brown University, Tim Nelson Brown University, Shriram Krishnamurthi Brown University, United States
DOI Media Attached
15:30
30m
Live Q&A
Bacatá: Notebooks for DSLs, Almost for Free
Research Papers
Mauricio Verano Merino Technische Universiteit Eindhoven, Jurgen Vinju CWI, Netherlands, Tijs van der Storm CWI & University of Groningen, Netherlands
DOI Media Attached
16:00
30m
Live Q&A
Reusing Static Analysis across Different Domain-Specific Languages using Reference Attribute Grammars
Research Papers
Johannes Mey Technische Universität Dresden, Thomas Kühn Karlsruhe Institute of Technology, René Schöne Technische Universität Dresden, Uwe Aßmann TU Dresden, Germany
DOI Media Attached

Fri 26 Mar

Displayed time zone: Belfast change

15:00 - 16:30
Session 16Research Papers at Virtual Space A
Chair(s): Theo D'Hondt Vrije Universiteit Brussel
15:00
30m
Live Q&A
Using Relational Problems to Teach Property-Based Testing
Research Papers
John Wrenn Brown University, Tim Nelson Brown University, Shriram Krishnamurthi Brown University, United States
DOI Media Attached
15:30
30m
Live Q&A
Reference Capabilities for Safe Parallel Array Programming
Research Papers
Beatrice Åkerblom Stockholm University, Elias Castegren KTH, Tobias Wrigstad Uppsala University, Sweden
DOI Media Attached
16:00
30m
Live Q&A
Lake symbols for island parsing
Research Papers
Katsumi Okuda The University of Tokyo / Mitsubishi Electric Corporation, Shigeru Chiba The University of Tokyo
DOI Media Attached