• DocumentCode
    77937
  • Title

    Verifying Linearizability via Optimized Refinement Checking

  • Author

    Yang Liu ; Wei Chen ; Liu, Y.A. ; Jun Sun ; Shao Jie Zhang ; Jin Song Dong

  • Author_Institution
    Sch. of Comput. Eng., Nanyang Technol. Univ., Singapore, Singapore
  • Volume
    39
  • Issue
    7
  • fYear
    2013
  • fDate
    Jul-13
  • Firstpage
    1018
  • Lastpage
    1039
  • Abstract
    Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that: (1) All executions of concurrent operations are serializable, and (2) the serialized executions are correct with respect to the sequential semantics. In this work, we describe a method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. The method does not require that linearization points in the implementations be given, which is often difficult or impossible. However, the method takes advantage of linearization points if they are given. The method is based on refinement checking of finite-state systems specified as concurrent processes with shared variables. To tackle state space explosion, we develop and apply symmetry reduction, dynamic partial order reduction, and a combination of both for refinement checking. We have built the method into the PAT model checker, and used PAT to automatically check a variety of implementations of concurrent objects, including the first algorithm for scalable nonzero indicators. Our system is able to find all known and injected bugs in these implementations.
  • Keywords
    concurrency control; formal specification; program debugging; program verification; programming language semantics; refinement calculus; PAT model checker; automatic linearizability checking; bug detection; concurrent objects; concurrent operations; dynamic partial-order reduction; finite-state systems; linearizability verification; linearization points; optimized refinement checking; refinement relations; scalable nonzero indicators; sequential semantics; serialized executions; shared variables; symmetry reduction; Educational institutions; Electronic mail; History; Optimization; Semantics; Sun; Linearizability; PAT; model checking; refinement;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2012.82
  • Filename
    6363443