Skip to main content

Data Flow Analysis of Java Programs in the Presence of Exceptions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1755))

Abstract

For data flow analysis of Java program to be correct and precise, the flows induced by exceptions must be properly analysed. In our data flow analysis, the implicit control flow for a raised exception is represented explicitly. Exception branches, exception plateaus, and exception exits for methods and method calls are introduced as additional control flow structures for analysis of exception handling. These structures are constructed dynamically under control of data flow analysis.

This research was supported by the Russian Foundation for Basic Research, RFFI 97-01-00724

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Chatterjee, B.G. Ryder, and W.A. Landi. Complexity of Concrete Type-Inference in the Presence of Exceptions. LNCS 1381, Proceedings of European Symposium on Programming, April, 1998.

    Google Scholar 

  2. S.V. Kuksenko, V.I. Shelekhov. The Static Source Code Checker of Run-time Errors, Programmirovanie, 1998, no. 6. (in Russian)

    Google Scholar 

  3. R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, and F.K. Zadek. Efficient Computing Static Single Assignment Form and the Control Dependence Graph, ACM Trans. Prog. Lang. Sys., 1991, vol. 13, no. 4, pp. 451–490.

    Article  Google Scholar 

  4. Shelekhov, V.I., Invariant of the Programming Language, in Sredstva i instrumenty programmirovaniya (Programming Tools), Novosibirsk: Institute of Informatics Systems, Siberian Division, Russian Academy of Sciences, 1995, pp. 6–22. (in Russian)

    Google Scholar 

  5. Cousot, P. and Cousot, R., Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints, Rec. 18th ACM Symp. on Principles of Programming Languages, ACM, 1977, pp. 55–56.

    Google Scholar 

  6. Landi, W. and Rider, B.G., A Safe Approximate Algorithm for Interprocedural Pointer Aliasing, Proc. ACM SIGPLAN’92 Conf. on Prog. Lang. Design and Implem., SIGPLAN Notices, 1992, vol. 27, no. 7, pp. 235–248.

    Google Scholar 

  7. J. Gosling, B. Joy, G. Steele. The Java Language Specification. Pre-Release Version 1.0, Draft 5.2-July 3, 1996

    Google Scholar 

  8. Kwangkeun Yi, Sukyoung Ryu. Toward a Cost-Effective Estimation of Uncaught Exceptions in SML Programs. LNCS 1302, Static Analysis, 4th International Symposium, SAS’97. Proceedings. 1997. pp. 98–113.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shelekhov, V.I., Kuksenko, S.V. (2000). Data Flow Analysis of Java Programs in the Presence of Exceptions. In: Bjøner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 1999. Lecture Notes in Computer Science, vol 1755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46562-6_34

Download citation

  • DOI: https://doi.org/10.1007/3-540-46562-6_34

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67102-2

  • Online ISBN: 978-3-540-46562-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics