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.

Conference Day
Wed 24 Mar

Displayed time zone: Belfast change

15:00 - 16:30
Session 3Research Papers at Virtual Space A
Chair(s): Jeremy GibbonsDepartment of Computer Science, University of Oxford
15:00
30m
Live Q&A
Using Relational Problems to Teach Property-Based Testing
Research Papers
John WrennBrown University, Tim NelsonBrown University, Shriram KrishnamurthiBrown University, United States
DOI Media Attached
15:30
30m
Live Q&A
Bacatá: Notebooks for DSLs, Almost for Free
Research Papers
Mauricio Verano MerinoTechnische Universiteit Eindhoven, Jurgen VinjuCWI, Netherlands, Tijs van der StormCWI & 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 MeyTechnische Universität Dresden, Thomas KühnKarlsruhe Institute of Technology, René SchöneTechnische Universität Dresden, Uwe AßmannTU Dresden, Germany
DOI Media Attached

Conference Day
Fri 26 Mar

Displayed time zone: Belfast change

15:00 - 16:30
Session 16Research Papers at Virtual Space A
Chair(s): Theo D'HondtVrije Universiteit Brussel
15:00
30m
Live Q&A
Using Relational Problems to Teach Property-Based Testing
Research Papers
John WrennBrown University, Tim NelsonBrown University, Shriram KrishnamurthiBrown University, United States
DOI Media Attached
15:30
30m
Live Q&A
Reference Capabilities for Safe Parallel Array Programming
Research Papers
Beatrice ÅkerblomStockholm University, Elias CastegrenKTH, Tobias WrigstadUppsala University, Sweden
DOI Media Attached
16:00
30m
Live Q&A
Lake symbols for island parsing
Research Papers
Katsumi OkudaThe University of Tokyo / Mitsubishi Electric Corporation, Shigeru ChibaThe University of Tokyo
DOI Media Attached