‹Programming› 2022
Mon 11 - Thu 14 April 2022
Wed 13 Apr 2022 06:50 - 07:15 at Virtual Space - ‹Programming› Online Wednesday Chair(s): Emma Söderberg

Context This work is based on property-based testing (PBT). PBT is an increasingly important form of software testing. Furthermore, it serves as a concrete gateway into the abstract area of formal methods. Specifically, we focus on students learning PBT methods.

Inquiry How well do students do at PBT? Our goal is to assess the quality of the predicates they write as part of PBT. Prior work introduced the idea of decomposing the predicate’s property into a conjunction of independent subproperties. Testing the predicate against each subproperty gives a “semantic” understanding of their performance.

Approach The notion of independence of subproperties both seems intuitive and was an important condition in prior work. First, we show that this condition is overly restrictive and might hide valuable information: it both undercounts errors and makes it hard to capture misconceptions. Second, we introduce two forms of automation, one based on PBT tools and the other on SAT-solving, to enable testing of student predicates. Third, we compare the output of these automated tools against manually-constructed tests. Fourth, we also measure the performance of those tools. Finally, we re-assess student performance reported in prior work.

Knowledge We show the difficulty caused by the independent subproperty requirement. We provide insight into how to use automation effectively to assess PBT predicates. In particular, we discuss the steps we had to take to beat human performance. We also provide insight into how to make the automation work efficiently. Finally, we present a much richer account than prior work of how students did.

Grounding Our methods are grounded in mathematical logic. We also make use of well-understood principles of test generation from more formal specifications. This combination ensures the soundness of our work. We use standard methods to measure performance.

Importance As both educators and programmers, we believe PBT is a valuable tool for students to learn, and its importance will only grow as more developers appreciate its value. Effective teaching requires a clear understanding of student knowledge and progress. Our methods enable a rich and automated analysis of student performance on PBT that yields insight into their understanding and can capture misconceptions. We therefore expect these results to be valuable to educators.

Wed 13 Apr

Displayed time zone: Lisbon change

06:00 - 09:00
‹Programming› Online WednesdayResearch Papers / at Virtual Space
Chair(s): Emma Söderberg Lund University
06:00
25m
Other
Day 3 Opening | Games & Social
Eva Krebs Hasso Plattner Institute (HPI), University of Potsdam, Germany, Robert Hirschfeld HPI, University of Potsdam
06:25
25m
Research paper
Figuring and Drawing: a visual approach to principled programmingVol. 6
Research Papers
Elpida Keravnou-Papailiou University of Cyprus
06:50
25m
Research paper
Automated, Targeted Testing of Property-Based Testing PredicatesVol. 6
Research Papers
Tim Nelson Brown University, Elijah Rivera , Sam Soucie Indiana University, Thomas Del Vecchio Brown University, John Wrenn Brown University, Shriram Krishnamurthi Brown University, United States
Link to publication
07:15
25m
Research paper
Deriving Static Security Testing from Runtime Security Protection for Web ApplicationsVol. 6
Research Papers
Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium
Link to publication