Testing of java web services for robustness
- 1 July 2004
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 29 (4), 23-34
- https://doi.org/10.1145/1007512.1007516
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) in Java web services 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 (i) identifies the exception-flow 'def-uses' to be tested in this manner, (ii) determines the kind of fault to be requested at a program point, and (iii) 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 Java web services benchmarks.Keywords
This publication has 23 references indexed in Scilit:
- An uncaught exception analysis for JavaJournal of Systems and Software, 2004
- Static analysis to support the evolution of exception structure in object-oriented systemsACM Transactions on Software Engineering and Methodology, 2003
- Characterization and automatic identification of type infeasible call chainsInformation and Software Technology, 2002
- A framework for call graph construction algorithmsACM Transactions on Programming Languages and Systems, 2001
- SEDAPublished by Association for Computing Machinery (ACM) ,2001
- Points-to analysis for Java using annotated constraintsPublished by Association for Computing Machinery (ACM) ,2001
- Analysis and testing of programs with exception handling constructsIEEE Transactions on Software Engineering, 2000
- Practicing JUDOPublished by Association for Computing Machinery (ACM) ,2000
- Efficient and precise modeling of exceptions for the analysis of Java programsPublished by Association for Computing Machinery (ACM) ,1999
- Fault injection and dependability evaluation of fault-tolerant systemsIEEE Transactions on Computers, 1993