Comparing Error Detection Techniques for Web Applications: An Experimental Study

Web applications are highly sensitive to the occurrence of user-visible failures. Despite the usage of system-level monitoring tools there are still some application-level errors that escape to those tools and end up to be seen in the Web pages of the final users. Complementary error detection mechanisms should then be used to overcome this problem.In this paper, we present an experimental study where we measured the effectiveness of four different error-detection mechanisms under different fault-load. For the effect we used two benchmarks (JPetstore and TPC-W) and a software fault-injector. The results show that although system-level monitoring tools are very effective in most of the cases, there are other detection mechanisms that present a better latency and coverage when dealing with errors at the application-level. Particularly, the usage of external monitoring schemes seems to be of utmost importance.

[1]  Farnam Jahanian,et al.  Testing of fault-tolerant and real-time distributed systems via protocol fault injection , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.

[2]  Kang G. Shin,et al.  DOCTOR: an integrated software fault injection environment for distributed real-time systems , 1995, Proceedings of 1995 IEEE International Computer Performance and Dependability Symposium.

[3]  Archana Ganapathi,et al.  Why Do Internet Services Fail, and What Can Be Done About It? , 2002, USENIX Symposium on Internet Technologies and Systems.

[4]  Johan Karlsson,et al.  GOOFI: generic object-oriented fault injection tool , 2001, 2001 International Conference on Dependable Systems and Networks.

[5]  Farnam Jahanian,et al.  ORCHESTRA: A Fault Injection Environment for Distributed Systems , 1996 .

[6]  Armando Fox,et al.  Detecting application-level failures in component-based Internet services , 2005, IEEE Transactions on Neural Networks.

[7]  Jacob A. Abraham,et al.  FERRARI: a tool for the validation of system dependability properties , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[8]  Luís Moura Silva,et al.  A Fault-Injector Tool to Evaluate Failure Detectors in Grid-Services , 2007, CoreGRID Workshop - Making Grids Work.

[9]  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.

[10]  Luís Moura Silva,et al.  A Scalable Multi-Agent Infrastructure for Remote Failure Detection in Web Applications , 2007, CoreGRID Workshop - Making Grids Work.

[11]  Soila Pertet,et al.  Causes of Failure in Web Applications (CMU-PDL-05-109) , 2005 .

[12]  Eric A. Brewer,et al.  Pinpoint: problem determination in large, dynamic Internet services , 2002, Proceedings International Conference on Dependable Systems and Networks.

[13]  Henrique Madeira,et al.  Xception: Software Fault Injection and Monitoring in Processor Functional Units1 , 1995 .

[14]  Ravishankar K. Iyer,et al.  NFTAPE: a framework for assessing dependability in distributed systems with lightweight fault injectors , 2000, Proceedings IEEE International Computer Performance and Dependability Symposium. IPDS 2000.

[15]  George Candea,et al.  Combining Visualization and Statistical Analysis to Improve Operator Confidence and Efficiency for Failure Detection and Localization , 2005, Second International Conference on Autonomic Computing (ICAC'05).