Automated Verification of Go Programs via Bounded Model Checking

Automated Verification of Go Programs via Bounded Model Checking
复制标题

通过有界模型检查自动验证 Go 程序

DOI:
10.1109/ase51524.2021.9678571
复制
发表时间:
2021
期刊:
2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)
影响因子:
--
通讯作者:
J. Lange
J. Lange
中科院分区:
--
文献类型:
--
作者:
Nicolas Dilley;J. Lange

文献摘要

参考文献

被引文献

相似文献

GO编程语言提供了各种原始词,以协调轻巧的线程,例如频道,候补组和静音 - 所有这些都可能导致并发核对器。但是,他们的代码被执行。与以前的作品相比,依靠有限的模型检查其并发行为,我们的方法涉及大型代码库,支持具有静态参数的程序,并广泛地涉及其他并发原始人。从GO程序到模型的提取算法,一种算法,以自动检查具有静态未知参数的程序,以及对我们的方法表明,我们的方法优于最先进的方法。
The Go programming language offers a wide range of primitives to coordinate lightweight threads, e.g., channels, waitgroups, and mutexes — all of which may cause concurrency bugs. Static checkers that guarantee the absence of bugs are essential to help programmers avoid these costly errors before their code is executed. However existing tools either miss too many bugs or cannot handle large programs. To address these limitations, we propose a static checker for Go programs which relies on performing bounded model checking of their concurrent behaviours. In contrast to previous works, our approach deals with large codebases, supports programs that have statically unknown parameters, and is extensible to additional concurrency primitives. Our work includes a detailed presentation of the extraction algorithm from Go programs to models, an algorithm to automatically check programs with statically unknown parameters, and a large scale evaluation of our approach. The latter shows that our approach outperforms the state-of-the-art.
自动检测并修复Go软件系统中的并发错误
DOI: 10.1145/3445814.3446756
发表时间: 2021
期刊: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
Liu, Ziheng;Zhu, Shuofei;Qin, Boqin;Chen, Hao;Song, Linhai
通讯作者: Song, Linhai