PreFail: Programmable and Efficient Failure Testing Framework

Pallavi Joshi, Haryadi S. Gunawi and Koushik Sen

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2011-3
January 18, 2011

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-3.pdf

As hardware failures are no longer rare in the era of cloud computing, reliability has become a first-class design goal of today's cloud software systems. To ensure software's fault-tolerance "prevails'' against hardware failures, cloud systems have to be tested against multiple, diverse failures that are likely to occur in the real-world. Such failure testing poses several challenges including the need to explore a large number of combinations of failures, and also by implication, to debug a large number of test runs that fail during testing. In this paper, we present PreFail, a programmable and efficient failure testing framework. With PreFail, a tester can express a variety of failure exploration policies, skip redundant fault-injection tests, run failure testing in parallel, and reduce the time to debug failed test runs.


BibTeX citation:

@techreport{Joshi:EECS-2011-3,
    Author = {Joshi, Pallavi and Gunawi, Haryadi S. and Sen, Koushik},
    Title = {PreFail: Programmable and Efficient Failure Testing Framework},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2011},
    Month = {Jan},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-3.html},
    Number = {UCB/EECS-2011-3},
    Abstract = {As hardware failures are no longer rare in the era of cloud computing, reliability has become a first-class design goal of today's cloud software systems. To ensure software's fault-tolerance "prevails'' against hardware failures, cloud systems have to be tested against multiple, diverse failures that are likely to occur in the real-world. Such failure testing poses several challenges including the need to explore a large number of combinations of failures, and also by implication, to debug a large number of test runs that fail during testing. In this paper, we present PreFail, a programmable and efficient failure testing framework. With PreFail, a tester can express a variety of failure exploration policies, skip redundant fault-injection tests, run failure testing in parallel, and reduce the time to debug failed test runs.}
}

EndNote citation:

%0 Report
%A Joshi, Pallavi
%A Gunawi, Haryadi S.
%A Sen, Koushik
%T PreFail: Programmable and Efficient Failure Testing Framework
%I EECS Department, University of California, Berkeley
%D 2011
%8 January 18
%@ UCB/EECS-2011-3
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-3.html
%F Joshi:EECS-2011-3