Abstract
JESP is a tool for statically examining the usage of user thrown exceptions in Java source code. Reported here are the first findings over a dataset of 31 publicly available Java codes, including the JavaSpecs. Of greatest interest to compiler writers are the findings that most Java exceptions are thrown across method boundaries, trys and catches occur in equal numbers, finallys are rare, and programs fall into one of two categories, those dominated by throw statements and those dominated by catch statements.
The research reported here was supported, in part, by NSF grant CCR-9808607.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
K. Arnold and J. Gosling. The Java Programming Language, Second Edition. Addison-Wesley, 1997. 68
M. Arnold, M. Hsiao, U. Kremer, and B.G. Ryder. Instruction scheduling in the presence of java’s runtime exceptions. In Proceedings of Workshop on Languages and Compilers for Parallel Computation (LCPC’99), August 1999. 68
D. Brookshier. Exception handling: Simpler, faster, safer. Java Report, 3(2), February 1998. 79
R. Chatterjee. Modular Data-flow Analysis of Statically Typed Object-oriented Programming Languages. PhD thesis, Department of Computer Science, Rutgers University, October 1999. 68, 79
Ramkrishna Chatterjee, Barbara G. Ryder, and William. A Landi. Relevant context inference. In Conference Record of the Twenty-sixth Annual ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, January 1999. 68, 79
J.-D. Choi, D. Grove, M. Hind, and V. Sarkar. Efficient and precise modeling of exceptions for the analysis of java programs. In Proceedings of the ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pages 1–11, September 1999. 68, 79
R. Fitzgerald, T.B. Knoblock, E. Rif, B. Steensgaard, and D. Tarditi. Marmot: An optimizing compilr for java. Technical Report Technical Report MSR-TR-99-33, Microsoft Research, June 1999. 68, 79
Andrew Gelsey, Don Smith, Mark Schwabacher, Khaled Rasheed, and Keith Miyake. A search space toolkit. Decision Support Systems-special issue on Unification of Artificial Intelligence with Optimization, 18:341–356, 1996. 68
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996. 68
M.J. Harrold and S. Sinha. Analysis of programs with exception-handling constructs. In Proceedings of the International Conference on Software Maintenance, November 1998. 68, 79
J. Keane. Knowledge-based Management of Legacy Codes for Automated Design. PhD thesis, Rutgers University, October 1996. 68
J. Keane and T. Ellman. Knowledge-based re-engineering of legacy programs for robustness in automated designs. In Proceedings of the Eleventh Knowledge-Based Software Engineering Conference, 1996. 68
A. Krall and M. Probst. Monitors and exceptions: How to implement java efficiently. In Proceedings of 1998 ACM Java Workshop, 1998. 68, 79
M. Robillard and G. Murphy. Analyzing exception flow in java programs. In Proceedings of the 7th Annual ACM SIGSOFT Symposium on the Foundations of Software Engineering, September 1999. 68, 79
Raja Vallee-Rai, Laurie Hendren, Vijay Sundaresan, Patrick Lamand Etienne Gagnon, and Phong Co. Soot-a java optimization framework. In CASCON99, Toronto, Ontario, September 1999. 69
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ryder, B.G., Smith, D., Kremer, U., Gordon, M., Shah, N. (2000). A Static Study of Java Exceptions Using JESP. In: Watt, D.A. (eds) Compiler Construction. CC 2000. Lecture Notes in Computer Science, vol 1781. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46423-9_5
Download citation
DOI: https://doi.org/10.1007/3-540-46423-9_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67263-0
Online ISBN: 978-3-540-46423-5
eBook Packages: Springer Book Archive