Building Reliable Distributed Systems With P
Ankush Desai and Ethan Jackson and Amar Phanishayee and Shaz Qadeer and Sanjit A. Seshia
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2015-198
September 15, 2015
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-198.pdf
Fault-tolerant distributed systems are difficult to get right because they must deal with concurrency and failures. Despite decades of research, current approaches for a more rigorous way of building robust distributed systems are unsatisfactory. In this paper, we present P, a new approach that makes it easier to build, specify, and test distributed systems. Our programming framework provides two important features. First, we provide a high-level language for formally specifying implementations, abstractions, and specifications of protocols. The P compiler automatically generates efficient C code from the input program. Second, we provide a tool for compositional systematic testing of a P program. Together, these attributes have the power to generate and reproduce within minutes, executions that could take months or even years to manifest in a live distributed system.
BibTeX citation:
@techreport{Desai:EECS-2015-198,
Author= {Desai, Ankush and Jackson, Ethan and Phanishayee, Amar and Qadeer, Shaz and Seshia, Sanjit A.},
Title= {Building Reliable Distributed Systems With P},
Year= {2015},
Month= {Sep},
Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-198.html},
Number= {UCB/EECS-2015-198},
Abstract= {Fault-tolerant distributed systems
are difficult to get right because they must deal with concurrency and failures.
Despite decades of research, current
approaches for a more rigorous way of building robust
distributed systems are unsatisfactory.
In this paper, we present P, a new approach that makes it easier
to build, specify, and test distributed systems.
Our programming framework provides two important features.
First, we provide a high-level language for formally specifying implementations,
abstractions, and specifications of protocols.
The P compiler automatically generates efficient C code from
the input program.
Second, we provide a tool for compositional systematic testing of a
P program.
Together, these attributes have the power to generate and reproduce within minutes,
executions that could take months or even years to manifest in a live
distributed system.},
}
EndNote citation:
%0 Report %A Desai, Ankush %A Jackson, Ethan %A Phanishayee, Amar %A Qadeer, Shaz %A Seshia, Sanjit A. %T Building Reliable Distributed Systems With P %I EECS Department, University of California, Berkeley %D 2015 %8 September 15 %@ UCB/EECS-2015-198 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-198.html %F Desai:EECS-2015-198