ACM Home Page
Please provide us with feedback. Feedback
Testing of java web services for robustness
Full text PdfPdf (264 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis table of contents
Boston, Massachusetts, USA
SESSION: Program analysis I table of contents
Pages: 23 - 34  
Year of Publication: 2004
ISBN:1-58113-820-2
Also published in ...
Authors
Chen Fu  Rutgers University, Piscataway, NJ
Barbara G. Ryder  Rutgers University, Piscataway, NJ
Ana Milanova  Rensselaer Polytechnic Institute, Troy, NY
David Wonnacott  Haverford College, Haverford, PA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 145,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1007512.1007516
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
4
 
5
6
7
8
9
 
10
11
 
12
S. Dawson, F. Jahanian, and T. Mitton. ORCHESTRA: A Fault Injection Environment for Distributed Systems. In Proc. 26th Int. Symp. on Fault Tolerant Computing(FTCS-26), pages 404--414, Sendai, Japan, June 1996.
 
13
 
14
 
15
C. Fu, R. P. Martin, K. Nagaraja, T. D. Nguyen, B. G. Ryder, and D. Wonnacott. Compiler-directed program-fault coverage for highly available Java internet services. In Proceedings of the International Conference on Dependable Systems and Networks (DSN 2003), June 2003.
16
 
17
R. G. Hamlet. Testing programs with the aid of a compiler. IEEE Transactions on Software Engineering, 3(4):279--290, July 1977.
 
18
19
 
20
 
21
G. A. Kanawati, N. A. Kanawati, and J. A. Abraham. FERRARI: A Tool for the Validation of System Dependability Properties. In Proc. 22nd Int. Symp. on Fault Tolerant Computing(FTCS-22), pages 336--344, Boston, Massachusetts, 1992. IEEE Computer Society Press.
 
22
S. Lee, B.-S. Yang, S. Kim, S. Park, S.-M. Moon, K. Ebcioglu, and E. Altman. Efficient Java exception handling in just-in-time compilation.
 
23
O. Lhoták and L. Hendren. Scaling Java points-to analysis using Spark. LNCS 2622, pages 153--169, 2003.
 
24
X. Li, R. P. Martin, K. Nagaraja, T. D. Nguyen, and B. Zhang. Mendosus: A SAN-Based Fault-Injection Test-Bed for the Construction of Highly Available Network Services. In Proceedings of the 1st Workshop on Novel Uses of System Area Networks (SAN-1), Cambridge, MA, Jan. 2002.
 
25
 
26
27
 
28
The Muffin world wide web filtering system. See http://muffin.doit.org/.
 
29
 
30
31
 
32
M. J. Radwin. The java network file system. See http://www.radwin.org/michael/projects/jnfs/.
 
33
34
35
 
36
B. G. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. In Proceedings of the Twelveth International Conference on Compiler Construction, pages 126--137, April 2003. invited paper.
 
37
M. Sable. Soot: a java optimization framework. See http://www.sable.mcgill.ca/soot/.
 
38
 
39
Z. Segall, D. Vrsalovic, D. Siewiorek, D. Yaskin, J. Kownacki, J. Barton, D. Rancey, A. Robinson, and T. Lin. FIAT -- Fault Injection based Automated Testing environment. In Proc. 18th Int. Symp. on Fault-Tolerant Computing (FTCS-18), pages 102--107, Tokyo, Japan, 1988. IEEE Computer Society Press.
 
40
M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. In S. Muchnick and N. Jones, editors, Program Flow Analysis: Theory and Applications, pages 189--234. 1981.
 
41
 
42
 
43
 
44
S. Sinha, A. Orso, and M. J. Harrold. Automated support for development, maintenance, and testing in the presence of implicit control flow. Technical Report GIT-CC-03-48, College of Computing, Georgia Institute of Technology, September 2003.
 
45
A. L. Souter and L. L. Pollock. Type infeasible call chains. In Proceedings of the IEEE International Workshop on Source Code Analysis and Manipulation, 2001.
 
46
A. L. Souter and L. L. Pollock. Characterization and automatic identification of type infeasible call chains. Information and Software Technology, 44(13):721--732, October 2002.
 
47
Specbench.org. Java client/server benchmarks.
48

CITED BY  8

Collaborative Colleagues:
Chen Fu: colleagues
Barbara G. Ryder: colleagues
Ana Milanova: colleagues
David Wonnacott: colleagues