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