Scala 2016
Sun 30 - Mon 31 October 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Mon 31 Oct 2016 13:55 - 14:20 at Matterhorn 2 - Analysis, Testing & Verification Chair(s): Philipp Haller

We present a lightweight library for testing concurrent Scala programs by systematically exploring multiple interleavings between user-specified operations on shared objects. Our library is targeted at beginners of concurrent programming in Scala, runs on a standard JVM, and supports conventional synchronization primitives such as wait, notify, and synchronized. The key component of the library is the trait SchedulableMonitor that accepts a thread schedule, and interleaves as per the schedule all user-specified operations invoked through multiple threads on objects implementing the trait. Using our library, we developed a unit test engine that tests concurrent operations on shared objects on thousands of schedules obtained by bounding the number of context-switches. If a unit test fails on a schedule, the test engine offers as feedback the interleaved traces of execution that resulted in the failure. We used our test engine to automatically test and evaluate two assignments: (a) lock-based producer/consumer problem, and (b) lock-free sorted list implementation, offered to a class of 150 under-graduate students of EPFL. Our evaluations show that the system is effective in detecting bugs in students’ solutions.

Slides of the talk (muscat.pptx)2.18MiB

Mon 31 Oct

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Analysis, Testing & VerificationScala at Matterhorn 2
Chair(s): Philipp Haller KTH Royal Institute of Technology
13:30
25m
Talk
SMT-Based Checking of Predicate-Qualified Types for Scala
Scala
Georg Stefan Schmid EPFL, Switzerland, Viktor Kunčak EPFL, Switzerland
DOI File Attached
13:55
25m
Talk
A Scala Library for Testing Student Assignments on Concurrent Programming
Scala
Mikaël Mayer EPFL, Switzerland, Ravichandhran Madhavan EPFL
DOI File Attached
14:20
25m
Talk
Building a Modular Static Analysis Framework in Scala (Tool Paper)
Scala
Quentin Stiévenart Vrije Universiteit Brussel, Belgium, Jens Nicolay Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel, Belgium, Coen De Roover Vrije Universiteit Brussel, Belgium
DOI
14:45
25m
Talk
Automatically finding Scala soundness bugs
Scala
Kartik Chandra Henry M. Gunn High School, Rastislav Bodík University of Washington, USA
Media Attached