Sat 29 May 2021 03:45 - 04:05 at Blended Sessions Room 1 - 4.3.1. Analyzing System Properties: Correctness, Determinism, Realizability
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 MayDisplayed 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 20mPaper | JEST: N+1-version Differential Testing of Both JavaScript Engines and SpecificationACM SIGSOFT Distinguished PaperTechnical Track Technical Track Pre-print Media Attached | ||
15:25 20mPaper | Unrealizable Cores for Reactive Systems SpecificationsTechnical Track Technical Track DOI Pre-print Media Attached | ||
15:45 20mPaper | Verifying Determinism in Sequential ProgramsTechnical 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 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
03:05 - 04:05 | 4.3.1. Analyzing System Properties: Correctness, Determinism, RealizabilityTechnical Track at Blended Sessions Room 1 | ||
03:05 20mPaper | JEST: N+1-version Differential Testing of Both JavaScript Engines and SpecificationACM SIGSOFT Distinguished PaperTechnical Track Technical Track Pre-print Media Attached | ||
03:25 20mPaper | Unrealizable Cores for Reactive Systems SpecificationsTechnical Track Technical Track DOI Pre-print Media Attached | ||
03:45 20mPaper | Verifying Determinism in Sequential ProgramsTechnical 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 |