Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. On verifying causal consistency
 
conference paper

On verifying causal consistency

Bouajjani, Ahmed
•
Enea, Constantin
•
Guerraoui, Rachid  
Show more
Gill, Andy
2017
POPL 2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017)

Causal consistency is one of the most adopted consistency criteria for distributed implementations of data structures. It ensures that operations are executed at all sites according to their causal precedence. We address the issue of verifying automatically whether the executions of an implementation of a data structure are causally consistent. We consider two problems: (1) checking whether one single execution is causally consistent, which is relevant for developing testing and bug finding algorithms, and (2) verifying whether all the executions of an implementation are causally consistent. We show that the first problem is NP-complete. This holds even for the read-write memory abstraction, which is a building block of many modern distributed systems. Indeed, such systems often store data in key-value stores, which are instances of the read-write memory abstraction. Moreover, we prove that, surprisingly, the second problem is undecidable, and again this holds even for the read-write memory abstraction. However, we show that for the read-write memory abstraction, these negative results can be circumvented if the implementations are data independent, i.e., their behaviors do not depend on the data values that are written or read at each moment, which is a realistic assumption. We prove that for data independent implementations, the problem of checking the correctness of a single execution w.r.t. the read-write memory abstraction is polynomial time. Furthermore, we show that for such implementations the set of non-causally consistent executions can be represented by means of a finite number of register automata. Using these machines as observers (in parallel with the implementation) allows to reduce polynomially the problem of checking causal consistency to a state reachability problem. This reduction holds regardless of the class of programs used for the implementation, of the number of read-write variables, and of the used data domain. It allows leveraging existing techniques for assertion/reachability checking to causal consistency verification. Moreover, for a significant class of implementations, we derive from this reduction the decidability of verifying causal consistency w.r.t. the read-write memory abstraction.

  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3009837.3009888
Web of Science ID

WOS:000408311200047

Author(s)
Bouajjani, Ahmed
Enea, Constantin
Guerraoui, Rachid  
Hamza, Jad  
Editors
Gill, Andy
Date Issued

2017

Publisher

ACM New York, NY, USA ©2017

Publisher place

New York

Published in
POPL 2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
ISBN of the book

978-1-4503-4660-3

Total of pages

13

Volume

52

Issue

1

Start page

626

End page

638

Subjects

distributed systems

•

causal consistency

•

model checking

•

static program analysis

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
DCL  
Event nameEvent placeEvent date
44th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2017)

Paris, France

January, 15-21, 2017

Available on Infoscience
June 29, 2017
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/138675
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés