Verifying Determinism in Sequential Programs

被引:0
作者
Mudduluru, Rashmi [1 ]
机构
[1] Univ Washington, Paul G Allen Sch Comp Sci & Engn, Seattle, WA 98195 USA
来源
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019) | 2019年
关键词
nondeterminism; type system; verification; specification;
D O I
10.1109/ASE.2019.00159
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
A nondeterministic program is difficult to test and debug. Nondeterminism occurs even in sequential programs: for example, iterating over the elements of a hash table can result in diverging test results. We have created a type system that can express whether a computation is deterministic, nondeterministic, or order-nondeterministic (like a set). While state-of-the-art nondeterminism detection tools unsoundly rely on observing run-time output, our approach soundly verifies determinism at compile time. Our implementation found previously-unknown nondeterminism errors in a 24,000-line program that had been heavily vetted by its developers.
引用
收藏
页码:1271 / 1273
页数:3
相关论文
共 6 条
[1]   DEFLAKER: Automatically Detecting Flaky Tests [J].
Bell, Jonathan ;
Legunsen, Owolabi ;
Hilton, Michael ;
Eloussi, Lamyaa ;
Yung, Tifany ;
Marinov, Darko .
PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, :433-444
[2]   An Empirical Analysis of Flaky Tests [J].
Luo, Qingzhou ;
Hariri, Farah ;
Eloussi, Lamyaa ;
Marinov, Darko .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :643-653
[3]  
Pacheco C, 2007, PROC INT CONF SOFTW, P75
[4]   Detecting Assumptions on Deterministic Implementations of Non-deterministic Specifications [J].
Shi, August ;
Gyori, Alex ;
Legunsen, Owolabi ;
Marinov, Darko .
2016 9TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2016, :80-90
[5]   Towards automated debugging in software evolution: Evaluating delta debugging on real regression bugs from the developers' perspectives [J].
Yu, Kai ;
Lin, Mengxiang ;
Chen, Jin ;
Zhang, Xiangyu .
JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (10) :2305-2317
[6]  
Zeller A, 1999, LECT NOTES COMPUT SC, V1687, P253, DOI 10.1145/318774.318946