Abstract
Exception handling is a powerful mechanism that separates the error handling code from normal code. However, incorrect usage of exception will bring about more potential faults in the code. Based on the study of exception model of C++, the paper proposes a precise and efficient representation of programs with exception handling constructs---Exception Control Flow Graph, which can represent explicitly the implicit control flow of exception and exception propagation path. Then it presents the structure testing criteria of programs with exception handling constructs based on the representation method, and gives the computing method. The approach overcomes the limitations of previous incorrect analysis because of failing to account for the effects of exception handling constructs.
- J. B. Goodenough, Exception handling: issues and a proposed notation, Communications of the ACM 18, 12, 1975, pp.683--696. Google Scholar
Digital Library
- A. F. Garcia, C. M. F. Rubira, A. Romanovsky, and et al, A comparative study of exception handling mechanisms for building dependable object-oriented software, The Journal of Systems and Software, 2001, 59, pp.197--222. Google Scholar
Digital Library
- B. Stroustrup, The C++ programming language (special edition), Addison-Wesley, 2000. Google Scholar
Digital Library
- S. J. Jiang, B. W. Xu, L. Shi, An approach to analysis exception propagation, In: The 8th IASTED International Conference On Software Engineering And Applications, November, 2004, MIT Cambridge, MA, USA, pp.300--305.Google Scholar
- S. J. Jiang, Y. P. Zhang, D. S. Yan, Y. P. Jiang. An approach to automatic testing exception handling, ACM SIGPLAN Notices, 40(8), 2005. pp.34--39. Google Scholar
Digital Library
- B. G. Ryder, D. Smith, U. Kremer, M. Gordon, N. Shah, A static study of Java exceptions using JSEP, Tech. Rep. DCS-TR-403, Rutgers University, Nov. 1999.Google Scholar
- S. Sinha, M. J. Harrold, Criteria for testing exception-handling constructs in Java programs, In: Proceedings of the International Conference on Software Maintenance (Sept.). IEEE Computer Society Press, Los Alamitos, CA, 1999, pp.265--274. Google Scholar
Digital Library
- A. V. Aho, R. Sethi, J. D. Ullman, Compilers: Principles, Techniques, and Tools. Beijing: Posts & Telecom Press, Pearson Education, 2002, pp.608--633. Google Scholar
Digital Library
- J. D. Choi, D. Grove, M. Hind, V. Sarkar, Efficient and precise modeling of exceptions for the analysis of java programs, In: Proceedings of '99 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, 1999. pp.21--31. Google Scholar
Digital Library
- S. Sinha, M. J. Harrold, Analysis and testing of programs with exception-handling constructs, IEEE Transactions on Software Engineering, 26(9), 2000, pp. 849--871. Google Scholar
Digital Library
- S. Sinha, A. Orso, M. J. Harrold, Automated support for development, maintenance, and testing in the presence of implicit control flow. In: Proceedings of the 26th International Conference on Software Engineering, 2004. pp.336--345. Google Scholar
Digital Library
- Allen, M., Horwitz, S.: Slicing Java Programs That Throw and Catch Exceptions. In Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation. 2003, 44--54 Google Scholar
Digital Library
- C. Fu, B. G. Ryder, D. G. Wonnacott, Robustness testing of Java server applications. IEEE Transactions on Software Engineering, 31(4), 2005, pp. 292--311. Google Scholar
Digital Library
- V. I. Shelekhov, S. V. Kuksenko, Data flow analysis of Java programs in the presence of Exceptions. Bjorner, M. Broy, A. Zamulin(Eds): Perspectives of System Informatics, Third International Andrei Ershov Memorial Conference, PSI'99, LNCS 1755, 2000, pp.389--395. Google Scholar
Digital Library
Index Terms
An analysis approach for testing exception handling programs
Recommendations
An approach to analyzing recursive programs with exception handling constructs
Exception handling in modern programming languages is a mechanism that can improve software reliability. Since the signature of an C++ function may not specify the set of exceptions that the function can propagate, it is necessary to figure out the ...
An approach to automatic testing exception handling
Exception handling mechanism can increase the reliability of the system and improve the robustness of the software. But the exception handling code that is used to respond to exceptional conditions tends to be the source of the systems failure. It is ...
Efficient Java exception handling in just-in-time compilation
Research ArticlesJava uses exceptions to provide elegant error handling capabilities during program execution. However, the presence of exception handlers complicates the job of the just-in-time (JIT) compiler, while exceptions are rarely used in most programs. This ...






Comments