Bounded Verification of Multi-threaded Programs via Lazy Sequentialization

Author:

Inverso Omar1,Tomasco Ermenegildo2ORCID,Fischer Bernd3ORCID,La Torre Salvatore4ORCID,Parlato Gennaro5ORCID

Affiliation:

1. Gran Sasso Science Institute, L’Aquila (AQ), Italy

2. Agenzia delle Entrate, Vallo della Lucania (SA), Italy

3. Stellenbosch University, Matieland, South Africa

4. Università degli Studi di Salerno, Fisciano (SA), Italy

5. Università degli Studi del Molise, Pesche (IS), Italy

Abstract

Bounded verification techniques such as bounded model checking (BMC) have successfully been used for many practical program analysis problems, but concurrency still poses a challenge. Here, we describe a new approach to BMC of sequentially consistent imperative programs that use POSIX threads. We first translate the multi-threaded program into a nondeterministic sequential program that preserves reachability for all round-robin schedules with a given bound on the number of rounds. We then reuse existing high-performance BMC tools as backends for the sequential verification problem. Our translation is carefully designed to introduce very small memory overheads and very few sources of nondeterminism, so it produces tight SAT/SMT formulae, and is thus very effective in practice: Our Lazy-CSeq tool implementing this translation for the C programming language won several gold and silver medals in the concurrency category of the Software Verification Competitions (SV-COMP) 2014–2021 and was able to find errors in programs where all other techniques (including testing) failed. In this article, we give a detailed description of our translation and prove its correctness, sketch its implementation using the CSeq framework, and report on a detailed evaluation and comparison of our approach.

Funder

EPSRC

Università degli Studi di Salerno

University of Southampton Scholarship Schemes

Amazon Research Awards

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Cited by 5 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Context-Bounded Verification of Context-Free Specifications;Proceedings of the ACM on Programming Languages;2023-01-09

2. Competition on Software Verification and Witness Validation: SV-COMP 2023;Tools and Algorithms for the Construction and Analysis of Systems;2023

3. Progress on Software Verification: SV-COMP 2022;Tools and Algorithms for the Construction and Analysis of Systems;2022

4. A Prototype for Data Race Detection in CSeq 3;Tools and Algorithms for the Construction and Analysis of Systems;2022

5. Parallel Specification-Based Testing for Concurrent Programs;IEEE Access;2022

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3