Model checking unbounded concurrent lists

被引:0
|
作者
Divjyot Sethi
Muralidhar Talupur
Sharad Malik
机构
[1] Princeton University,
[2] Strategic CAD Labs,undefined
[3] Intel Corporation,undefined
关键词
Model checking; Linearizability; Concurrent data structures; Compositional reasoning; Abstractions;
D O I
暂无
中图分类号
学科分类号
摘要
We present a model checking-based method for verifying list-based concurrent set data structures. Concurrent data structures are notorious for being hard to get right and thus, their verification has received significant attention from the verification community. These data structures are unbounded in two dimensions: the list size is unbounded and an unbounded number of threads access them. Thus, their model checking requires abstraction to a model bounded in both the dimensions. We first show how the unbounded number of threads can be model checked by reduction to a finite model, while assuming a bounded number of list nodes. In particular, we leverage the CMP (CoMPositional) method which abstracts the unbounded threads by keeping one thread as is (concrete) and abstracting all the other threads to a single environment thread. Next, the method proceeds as a series of iterations where in each iteration the abstraction is model checked and, if a spurious counterexample is observed, refined. This is accomplished by the user by inspecting the returned counterexamples. If the user determines the returned counterexample to be spurious, she adds constraints to the abstraction in the form of lemmas to refine it. Upon addition, these lemmas are also verified for correctness as part of the CMP method. Thus, since these lemmas are verified as well, we show how some of the lemmas required for refinement of this abstract model can be mined automatically using an assertion mining tool, Daikon. Next, we show how the CMP method approach can be extended to the list dimension as well, to fully verify the data structures in both the dimensions. While it is possible to show correctness of these data structures for an unbounded number of threads by keeping one concrete thread and abstracting others, this is not directly possible in the list dimension as the nodes pointed to by the threads change during list traversal. Our method addresses this challenge by constructing an abstraction for which the concrete nodes, i.e., the nodes pointed to by the threads, can change as the thread pointers move with program execution. Further, our method also allows for refinement of this abstraction to prove properties of interest. We show the soundness of our method and establish its utility by model checking challenging concurrent list-based data structure examples.
引用
收藏
页码:375 / 391
页数:16
相关论文
共 50 条
  • [1] Model checking unbounded concurrent lists
    Sethi, Divjyot
    Talupur, Muralidhar
    Malik, Sharad
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2016, 18 (04) : 375 - 391
  • [2] Method and case study of model checking concurrent systems that use unbounded timestamps
    Nakano, Shinya
    Tsuchiya, Tatsuhiro
    2017 IEEE 22ND PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC 2017), 2017, : 261 - 266
  • [3] Model Checking of ω-Independent Unbounded Petri Nets for an Unbounded System
    Wang, Shuo
    Yang, Ru
    Yu, Wangyang
    Ding, Zhijun
    Jiang, Changjun
    IEEE TRANSACTIONS ON COMPUTATIONAL SOCIAL SYSTEMS, 2024,
  • [4] Model Checking Using SMT and Theory of Lists
    Milicevic, Aleksandar
    Kugler, Hillel
    NASA FORMAL METHODS, 2011, 6617 : 282 - +
  • [5] Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results
    Bultan, T
    Gerber, R
    Pugh, W
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (04): : 747 - 789
  • [6] Towards Model-Checking Programs with Lists
    Finkel, Alain
    Lozes, Etienne
    Sangnier, Arnaud
    INFINITY IN LOGIC AND COMPUTATION, 2009, 5489 : 56 - 86
  • [7] Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results
    University of Maryland, College Park, MD, United States
    不详
    不详
    ACM Trans Program Lang Syst, 4 (747-789):
  • [8] Statistical model checking for unbounded until formulas
    Nima Roohi
    Mahesh Viswanathan
    International Journal on Software Tools for Technology Transfer, 2015, 17 : 417 - 427
  • [9] Stepping forward with interpolants in Unbounded Model Checking
    Cabodi, Gianpiero
    Murciano, Marco
    Nocco, Sergio
    Quer, Stefano
    IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN, DIGEST OF TECHNICAL PAPERS, ICCAD, 2006, : 26 - +
  • [10] Statistical model checking for unbounded until formulas
    Roohi, Nima
    Viswanathan, Mahesh
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2015, 17 (04) : 417 - 427