A Practical Approach for Model Checking C/C++11 Code

Author:

Norris Brian1,Demsky Brian1

Affiliation:

1. University of California, Irvine

Abstract

Writing low-level concurrent software has traditionally required intimate knowledge of the entire toolchain and often has involved coding in assembly. New language standards have extended C and C++ with support for low-level atomic operations and a weak memory model, enabling developers to write portable and efficient multithreaded code. In this article, we present CDSC hecker , a tool for exhaustively exploring the behaviors of concurrent code under the C/C++ memory model. We have used CDSC hecker to exhaustively unit test concurrent data structure implementations and have discovered errors in a published implementation of a work-stealing queue and a single producer, single consumer queue.

Funder

NSF

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference48 articles.

1. Synchronization Algorithm Verificator for C++0x. https://groups.google.com/forum/#!msg/comp.programming.threads/nSSFT9vKEe0/7eD3ioDg6nEJ. Oct. 2012. Synchronization Algorithm Verificator for C++0x. https://groups.google.com/forum/#!msg/comp.programming.threads/nSSFT9vKEe0/7eD3ioDg6nEJ. Oct. 2012.

2. Writing a (spinning) thread barrier using c++11 atomics. http://stackoverflow.com/questions/8115267/writing-a-spinning-thread-barrier-using-c11-atomics. Oct. 2012. Writing a (spinning) thread barrier using c++11 atomics. http://stackoverflow.com/questions/8115267/writing-a-spinning-thread-barrier-using-c11-atomics. Oct. 2012.

3. Multithreading and Concurrency. http://www.justsoftwaresolutions.co.uk/threading/. Dec. 2012. Multithreading and Concurrency. http://www.justsoftwaresolutions.co.uk/threading/. Dec. 2012.

4. MCS list-based lock. http://cbloomrants.blogspot.com/2011/07/07-18-11-mcs-list-based-lock_18. html. Oct. 2012. MCS list-based lock. http://cbloomrants.blogspot.com/2011/07/07-18-11-mcs-list-based-lock_18. html. Oct. 2012.

5. A look at some bounded queues - part 2. http://cbloomrants.blogspot.com/2011/07/07-30-11-look-at-some-bounded-queues.html. Oct. 2012. A look at some bounded queues - part 2. http://cbloomrants.blogspot.com/2011/07/07-30-11-look-at-some-bounded-queues.html. Oct. 2012.

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

1. Parameterized Static Analysis for Weak Memory Models;Proceedings of the 17th Innovations in Software Engineering Conference;2024-02-22

2. Parsimonious Optimal Dynamic Partial Order Reduction;Lecture Notes in Computer Science;2024

3. Static Analysis of Memory Models for SMT Encodings;Proceedings of the ACM on Programming Languages;2023-10-16

4. Optimal Stateless Model Checking for Causal Consistency;Tools and Algorithms for the Construction and Analysis of Systems;2023

5. Tailoring Stateless Model Checking for Event-Driven Multi-threaded Programs;Automated Technology for Verification and Analysis;2023

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

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

www.globalauthorid.com

TOP

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