Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021

When a program is nondeterministic, it is difficult to test and debug. Nondeterminism occurs even in sequential programs: e.g., byiterating over the elements of a hash table. We have created a type system that expresses determinism specifications in a program. The key ideas in the type system are type qualifiers for nondeterminism, order-nondeterminism, and determinism; type well-formedness rules to restrict collection types; and enhancements to polymorphism that improve precision when analyzing collection operations. While state-ofthe- art nondeterminism detection tools rely on observing output from specific runs, our approach soundly verifies determinism at compile time.

We implemented our type system for Java. Our type checker, DTC, warns if a program is nondeterministic or verifies that the program is deterministic. In case studies of 87895 lines of code, DTC found 58 previously-unknown nondeterminism errors, even in in programs that had been heavily vetted by developers who were greatly concerned about nondeterminism errors. In experiments, DTC found all of the non-concurrency-related nondeterminism that was found by state-of-the-art dynamic approaches for detecting flaky tests.

Fri 28 May

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

15:05 - 16:05
4.3.1. Analyzing System Properties: Correctness, Determinism, RealizabilityTechnical Track at Blended Sessions Room 1 +12h
Chair(s): Maria Teresa Baldassarre Department of Computer Science, University of Bari
15:05
20m
Paper
JEST: N+1-version Differential Testing of Both JavaScript Engines and SpecificationACM SIGSOFT Distinguished PaperArtifact ReusableTechnical TrackArtifact Available
Technical Track
Pre-print Media Attached
15:25
20m
Paper
Unrealizable Cores for Reactive Systems SpecificationsArtifact ReusableTechnical Track
Technical Track
Shahar Maoz Tel Aviv University, Israel, Rafi Shalom Tel Aviv University, Israel
DOI Pre-print Media Attached
15:45
20m
Paper
Verifying Determinism in Sequential ProgramsArtifact ReusableTechnical Track
Technical Track
Rashmi Mudduluru University of Washington, Jason Waataja UW CSE, Suzanne Millstein University of Washington, Michael D. Ernst UW CSE
Pre-print Media Attached

Sat 29 May

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