Robustness Testing of Java Server Applications

  • Authors:
  • Chen Fu;Ana Milanova;Barbara Gershon Ryder;David G. Wonnacott

  • Affiliations:
  • Dept. of Comput. Sci., Rutgers Univ., Piscataway, USA;Dept. of Comput. Sci., Rutgers Univ., Piscataway, USA;Dept. of Comput. Sci., Rutgers Univ., Piscataway, USA;Dept. of Comput. Sci., Rutgers Univ., Piscataway, USA

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a new compile-time analysis that enables a testing methodology for white-box coverage testing of error recovery code (i.e., exception handlers) of server applications written in Java, using compiler-directed fault injection. The analysis allows compiler-generated instrumentation to guide the fault injection and to record the recovery code exercised. (An injected fault is experienced as a Java exception.) The analysis 1) identifies the exception-flow "def-uses驴 to be tested in this manner, 2) determines the kind of fault to be requested at a program point, and 3) finds appropriate locations for code instrumentation. The analysis incorporates refinements that establish sufficient context sensitivity to ensure relatively precise def-use links and to eliminate some spurious def-uses due to demonstrably infeasible control flow. A runtime test harness calculates test coverage of these links using an exception def-catch metric. Experiments with the methodology demonstrate the utility of the increased precision in obtaining good test coverage on a set of moderately sized server benchmarks.