Failure classification and analysis of the Java Virtual Machine

This paper presents a failure analysis of the Java Virtual Machine providing useful insights into the nature of reported failures and to improve the understanding of its dependability aspects. Failure data is extracted from publicly available bug databases, where developers and users of Java applications usually submit failures/bugs. Presented results clearly indicate that much more efforts have still to be done in order to improve the dependability of the JVM. In particular, the conducted analysis revealed that i) builtin error detection mechanism are characterized by a low coverage; ii) the JVM does not achieve the same levels of dependability across different platforms iii) developers have to pursue a tradeoff between performance and reliability. Finally, code fragments reproducing failures submitted in bug database are injected into Java Applications. Preliminary results show that often these faults could be removed changing the environment of the JVM.

[1]  Cecília M. F. Rubira,et al.  Jaca: a reflective fault injection tool based on patterns , 2002, Proceedings International Conference on Dependable Systems and Networks.

[2]  Roy Friedman,et al.  Transparent fault-tolerant Java virtual machine , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[3]  J. Mark Bull,et al.  Benchmarking Java against C and Fortran for scientific applications , 2001, JGI '01.

[4]  Frank Hartman,et al.  Driving the Mars rovers , 2004 .

[5]  Ram Chillarege,et al.  Generation of an error set that emulates software faults based on field data , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.

[6]  Ravishankar K. Iyer,et al.  Dependability Measurement and Modeling of a Multicomputer System , 1993, IEEE Trans. Computers.

[7]  Ravishankar K. Iyer,et al.  A Statistical Failure/Load Relationship: Results of a Multicomputer Study , 1982, IEEE Transactions on Computers.

[8]  Gabriela Jacques-Silva,et al.  FIONA: a fault injector for dependability evaluation of Java-based network applications , 2004, Third IEEE International Symposium on Network Computing and Applications, 2004. (NCA 2004). Proceedings..

[9]  Ravishankar K. Iyer,et al.  Characterization of linux kernel behavior under errors , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[10]  Eliane Martins,et al.  Fault injection approach based on dependence analysis , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[11]  Fred B. Schneider,et al.  Hypervisor-based fault tolerance , 1996, TOCS.

[12]  Jean Arlat,et al.  Benchmarking the dependability of Windows NT4, 2000 and XP , 2004, International Conference on Dependable Systems and Networks, 2004.

[13]  James E. Smith,et al.  The architecture of virtual machines , 2005, Computer.

[14]  Katerina Goseva-Popstojanova,et al.  Modeling and analysis of software aging and rejuvenation , 2000, Proceedings 33rd Annual Simulation Symposium (SS 2000).

[15]  Stefano Russo,et al.  Java Virtual Machine monitoring for dependability benchmarking , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[16]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[17]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[18]  Mohamed Kaâniche,et al.  Event log based dependability analysis of Windows NT and 2K systems , 2002, 2002 Pacific Rim International Symposium on Dependable Computing, 2002. Proceedings..

[19]  Harrick M. Vin,et al.  A fault-tolerant java virtual machine , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[20]  Mohamed Kaâniche,et al.  Measurement-based availability analysis of Unix systems in a distributed environment , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[21]  Yuanyuan Zhou,et al.  Rx: treating bugs as allergies---a safe method to survive software failures , 2005, SOSP '05.