Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jason Waataja

dblp:294/1334 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 61% Program verification · 30% Software testing · 9%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › concurrent program verification
determinism verification
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Programming languages and type systems › type systems › refinement types
type qualifiers
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Programming languages and type systems
type systems
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Software testing
flaky test
0.112021
Verifying Determinism in Sequential Programs · ICSE 2021

Methods — techniques the papers use, named apart from their topics

type system · 0.5static analysis · 0.5
YearPublicationVenuePosition
2021 Verifying Determinism in Sequential Programs
abstract
When a program is nondeterministic, it is difficult to test and debug. Nondeterminism occurs even in sequential programs: e.g., by iterating 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 of-the-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, the Determinism Checker, warns if a program is nondeterministic or verifies that the program is deterministic. In case studies of 90097 lines of code, the Determinism Checker found 87 previously-unknown nondeterminism errors, even in programs that had been heavily vetted by developers who were greatly concerned about nondeterminism errors. In experiments, the Determinism Checker found all of the non-concurrency-related nondeterminism that was found by state-of-the-art dynamic approaches for detecting flaky tests.
Rashmi Mudduluru, Jason Waataja, Suzanne Millstein, Michael D. Ernst
ICSE2