fault cases in real deployment scenarios without over-
head and identifying faulty systems.
We identified some bugs in Hadoop with the man-
ual execution of representative fault cases, but we in-
tend to automatically execute them with HadoopTest.
We plan to automatically generate representative fault
cases from a Petri Net model, and test other MapRe-
duce systems, such as HadoopDB and Hive.
ACKNOWLEDGEMENTS
This work is partially sponsored by CAPES and the
experiments presented were carried out using the
Grid’5000 experimental testbed.
REFERENCES
Abouzeid, A., Bajda-Pawlikowski, K., Abadi, D., Silber-
schatz, A., and Rasin, A. (2009). HadoopDB: An
architectural hybrid of MapReduce and DBMS tech-
nologies for analytical workloads. In VLDB - Inter-
national Conference on Very Large Data Bases, pages
922–933. VLDB Endowment.
Ambrosio, A. M., Mattiello-Francisco, F., Vijaykumar,
N. L., de Carvalho, S. V., Santiago, V., and Martins, E.
(2005). A methodology for designing fault injection
experiments as an addition to communication systems
conformance testing. In DSN-W - International Con-
ference on Dependable Systems and Networks Work-
shops, Yokohama, Japan.
Ammann, P. and Offutt, J. (2008). Introduction to Software
Testing. Cambridge University Press.
Arlat, J., Crouzet, Y., Karlsson, J., Folkesson, P., Fuchs, E.,
and Leber, G. (2003). Comparison of Physical and
Software-Implemented Fault Injection Techniques.
IEEE Transactions on Computers, 52(9):1115–1133.
Avizienis, A., Laprie, J.-C., Randell, B., and Landwehr,
C. E. (2004). Basic Concepts and Taxonomy of De-
pendable and Secure Computing. IEEE Transactions
on Dependable and Secure Computing, 1(1):11–33.
Benso, A., Bosio, A., Carlo, S. D., and Mariani, R. (2007).
A Functional Verification based Fault Injection Envi-
ronment. In DFT - International Symposium on Defect
and Fault-Tolerance in VLSI Systems, pages 114–122.
IEEE.
Bernardi, S., Merseguer, J., and Petriu, D. C. (2012). De-
pendability Modeling and Assessment in UML-Based
Software Development. The Scientific World Journal,
2012:1–11.
Boudnik, K., Rajagopalan, B., and Murthy, A. C.
(2010). Herriot. https://issues.apache.org/jira/browse/
HADOOP-6332.
Callou, G., Maciel, P., Tutsch, D., and Ara
´
ujo, J. (2012).
A Petri Net-Based Approach to the Quantification of
Data Center Dependability. In Pawlewski, P., editor,
Petri Nets - Manufacturing and Computer Science,
page 492. InTech.
Chandra, T. D., Griesemer, R., and Redstone, J. (2007).
Paxos Made Live: An Engineering Perspective. In
PODC - Symposium on Principles of Distributed
Computing, pages 398–407, New York, New York,
USA. ACM Press.
Csallner, C., Fegaras, L., and Li, C. (2011). New
Ideas Track: Testing MapReduce-Style Programs. In
ESEC/FSE’11, Szeged, Hungary.
de Almeida, E. C., Marynowski, J. E., Suny
´
e, G., and Val-
duriez, P. (2010a). PeerUnit: a framework for testing
peer-to-peer systems. In ASE - International Confer-
ence on Automated Software Engineering, pages 169–
170, New York, USA. ACM.
de Almeida, E. C., Suny
´
e, G., Traon, Y. L., and Valduriez,
P. (2010b). Testing peer-to-peer systems. ESE - Em-
pirical Software Engineering, 15(4):346–379.
Dean, J. and Ghemawat, S. (2004). MapReduce: Sim-
plified Data Processing on Large Clusters. In OSDI
- USENIX Symposium on Operating Systems Design
and Implementation, pages 137–149, San Francisco,
California. ACM Press.
Dragan, F., Butnaru, B., Manolescu, I., Gardarin, G.,
Preda, N., Nguyen, B., Pop, R., and Yeh, L. (2006).
P2PTester: a tool for measuring P2P platform perfor-
mance. In BDA conference.
Echtle, K. and Leu, M. (1994). Test of fault tolerant dis-
tributed systems by fault injection. In FTPDS - Work-
shop on Fault-Tolerant Parallel and Distributed Sys-
tems, pages 244–251. IEEE.
Fu, C., Ryder, B. G., Milanova, A., and Wonnacott, D.
(2004). Testing of java web services for robustness.
In ISSTA - International Symposium on Software Test-
ing and Analysis, pages 23–33.
Hadoop (2012). The Apache Hadoop. http://hadoop.
apache.org/.
Henry, A. (2009). Cloud Storage FUD: Failure, Uncertainty
and Durability. In FAST - USENIX Symposium on File
and Storage Technologies, San Francisco, California.
Hoarau, W., Tixeuil, S., and Vauchelles, F. (2007). FAIL-
FCI: Versatile fault injection. Future Generation
Computer Systems, 23(7):913–919.
Huang, S., Huang, J., Dai, J., Xie, T., and Huang, B. (2010).
The HiBench benchmark suite: Characterization of
the MapReduce-based data analysis. In ICDEW - In-
ternational Conference on Data Engineering Work-
shops, pages 41–51. IEEE.
Jacques-Silva, G., Drebes, R., Gerchman, J., F. Trindade, J.,
Weber, T., and Jansch-Porto, I. (2006). A Network-
Level Distributed Fault Injector for Experimental
Validation of Dependable Distributed Systems. In
COMPSAC - International Computer Software and
Applications Conference, pages 421–428. IEEE.
Joshi, P., Gunawi, H. S., and Kou (2011). PREFAIL: A
Programmable Tool for Multiple-Failure Injection. In
OOPSLA - Conference on Object-Oriented Program-
ming, Portland, Oregon, USA.
Lefever, R., Joshi, K., Cukier, M., and Sanders, W. (2004).
A global-state-triggered fault injector for distributed
system evaluation. IEEE Transactions on Parallel and
Distributed Systems, 15(7):593–605.
DependabilityTestingofMapReduceSystems
171