Verifying Determinism in Sequential Programs

When a program is nondeterministic, it is difficult to test and debug. Nondeterminism occurs even in sequential programs 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 qualif...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) s. 213 - 214
Hlavní autoři: Mudduluru, Rashmi, Waataja, Jason, Millstein, Suzanne, Ernst, Michael
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 01.05.2021
Témata:
ISBN:1665412194, 9781665412193
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:When a program is nondeterministic, it is difficult to test and debug. Nondeterminism occurs even in sequential programs 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. 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 this paper, we explain how to obtain our tool and reproduce the results described inhttps://homes.cs.washington.edu/ mernst/pubs/determinismicse2021.pdf. Additionally, our tool and subject programs are available at https://zenodo.org/record/4536285#.YEaCxZNKiWw.
ISBN:1665412194
9781665412193
DOI:10.1109/ICSE-Companion52605.2021.00095