Causal Atomicity [chapter]

Azadeh Farzan, P. Madhusudan
2006 Lecture Notes in Computer Science  
Atomicity is an important generic specification that assures that a programmer can pretend blocks occur sequentially in any execution. We define a notion of atomicity based on causality. We model the control flow of a program with threads using a Petri net that naturally abstracts data, and faithfully captures the independence and interaction between threads. The causality between events in the partially ordered executions of the Petri net is used to define the notion of causal atomicity. We
more » ... w that causal atomicity is a robust notion that many correct programs adopt, and show how we can effectively check causal atomicity using Petri net tools based on unfoldings, which exploit the concurrency in the net to yield automatic partial-order reduction in the state-space. Research supported by ONR grant N00014-02-1-0715. 1 Atomicity is not a strictly stronger notion than race-freedom; see Figure 7 for an example.
doi:10.1007/11817963_30 fatcat:xxady6si3zdmfblqv7tpmejfoa