[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/292540.292565acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Type-based analysis of uncaught exceptions

Published: 01 January 1999 Publication History

Abstract

This paper presents a program analysis to estimate uncaught exceptions in ML programs. This analysis relies on unification-based type inference in a non-standard type system, using rows to approximate both the flow of escaping exceptions (a la effect systems) and the flow of result values (a la control-flow analyses). The resulting analysis is efficient and precise; in particular, arguments carried by exceptions are accurately handled.

References

[1]
H. G. Baker. Unify and conquer (garbage, updating, aliasing, .. ) in functional languages. In Lisp and Functional Programming 1990. ACM Press, 1990.
[2]
M. F~hndrich and A. Aiken. Making set-constraint based program analyses scale. Technical Report 96-917, University of California at Berkeley, Computer Science Division, 1996.
[3]
M. F~hndrich and A. Aiken. Program analysis using mixed term and set constraints. In Static Analysis Symposium '97, number 1302 in LNCS, pages 114-126. Springer-Verlag, 1997.
[4]
M. F~hndrich, J. S. Foster, A. Aiken, and J. Cu. Tracking down exceptions in Standard ML programs. Technical report, University of California at Berkeley, Computer Science Division, 1998.
[5]
M. F~hndrich, J. S. Foster, Z. Su, and A. Aiken. Partial online cycle elimination in inclusion constraint graphs. In Prog. Lang. Design and Impl. 1998, pages 85-96. ACM Press, 1998.
[6]
C. Flanagan and M. Felleisen. Componential set-based analysis. In Prog. Lang. Design and Impl. 1997. ACM Press, 1997.
[7]
T. Freeman and F. Pfenning. Refinement types for ML. In Prog. Lang. Design and Impl. 1991, pages 268-277. ACM Press, 1991.
[8]
J. C. Guzmdn and A. Sudrez. A type system for exceptions. In Proc. 199t workshop on ML and its applications, pages 127-135. Research report 2265, INRIA, 1994.
[9]
N. Heintze. Set-based analysis of ML programs. In Lisp and Functional Programming '9~, pages 306-317. ACM Press, 1994.
[10]
F. Henglein. Global tagging optimization by type inference. in Lisp and Functional Programming 1992. ACM Press, 1992.
[11]
F. Henglein. Type inference with polymorphic recursion. A CM Trans. Prog. Lang. Syst., 15(2):253-289, 1993.
[12]
S. Jagannathan and A. Wright. Polymorphic splitting: An effective polyvariant flow analysis. A CM Trans. Prog. Lang. Syst., 20(1):166-207, 1998.
[13]
A. J. Kfoury, J. Tiuryn, and P. Urzyczyn. Type reconstruction in the presence of polymorphic recursion. A CM Trans. Prog. Lang. Syst., 15(2):290-311, 1993.
[14]
X. Leroy and F. Pessaux. Type-based analysis of uncaught exceptions. Research report 3541, INRIA, Nov. 1998. Extended version of this paper.
[15]
X. Leroy, J. Vouillon, D. Doligez, et al. The Objective Caml system. Software and documentation available on the Web, http://caml.inria.fr/ocaml/, 1996.
[16]
J. M. Lucassen and D. K. Cifford. Polyrnorphic effect systems. In 15th syrup. Principles of Progr. Lang., pages 47-57. ACM Press, 1988.
[17]
A. Mycroft. Polymorphic type schemes and recursive definitions. In International Symposium on Programming, number 167 in LNCS, pages 217-228. Springer- Verlag, 1984.
[18]
A. Ohori. A polymorphic record calculus and its compilation. ACM Trans. Prog. Lang. Syst., 17(6):844-895, 1995.
[19]
F. Pottier. A framework for type inference with subtyping. In Int. Conf. on Functional Progr. 1998, pages 228-238. ACM Press, 1996.
[20]
F. Pottier. Type inference in the presence of subtyping: from theory to practice. Research report 3483, INRIA, Sept. 1998.
[21]
D. R~my. Records and variants as a natural extension of ML. In 16th symp. Principles of Progr. Lang., pages 77-88. ACM Press, 1989.
[22]
D. R~my. Syntactic theories and the algebra of record terms. Research report 1869, INRIA, 1993.
[23]
D. R@my. Type inference for records in a natural extension of ML. In C. A. Gunter and J. C. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming. MIT Press, 1993.
[24]
D. R~my and J. Vouillon. Objective ML: A simple object-oriented extension of ML. In 2~th symp. Principles of Progr. Lang., pages 40-53. ACM Press, 1997.
[25]
Z. Shao and A. Appeh Smartest recompilation. In 20th symp. Principles of Progr. Lang., pages 439-450. ACM Press, 1993.
[26]
O. Shivers. Control-Flow Analysis of Higher-Order Languages. PhD thesis CMU-CS-91-145, Carnegie Mellon University, May 1991.
[27]
B. Steensgaard. Points-to analysis in almost linear time. In 23rd syrup. Principles of Progr. Lang., pages 32-41. ACM Press, 1996.
[28]
J.-P. Talpin and P. Jouvelot. The type and effect discipline. Inf. and Comp., 111(2):245-296, 1994.
[29]
M. Torte and L. Birkedal. A region inference algorithm. A CM Trans. Prog. Lang. Syst., 1998. To appear.
[30]
M. Tofte and J.-P. Talpin. Region-based memory management. Inf. and Comp., 132(2):109-176, 1997.
[31]
M. Wand. Complete type inference for simple objects. In Logic in Computer Science 1987, pages 37-44. IEEE Computer Society Press, 1987.
[32]
A. K. Wright. Simple imperative polymorphism. Lisp and Symbolic Computation, 8(4):343-356, 1995.
[33]
A. K. Wright and R. Cartwright. A practical soft type system for Scheme. A CM Trans. Prog. Lang. Syst., 19(1):87-152, 1997.
[34]
A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Inf. and Comp., 115(1):38-94, 1994.
[35]
K. Yi. An abstract interpretation for estimating uncaught exceptions in Standard ML programs. Sci. Cornput. Programming, 31(1):147-173, 1998.
[36]
K. Yi and S. Ryu. Towards a cost-effective estimation of uncaught exceptions in SML programs. In Static Analysis Symposium '97, number 1302 in LNCS, pages 98-113. Springer-Verlag, 1997.

Cited By

View all
  • (2024)Explicit Effects and Effect Constraints in ReMLProceedings of the ACM on Programming Languages10.1145/36329218:POPL(2370-2394)Online publication date: 5-Jan-2024
  • (2024)Detection of Uncaught Exceptions in Functional Programs by Abstract InterpretationProgramming Languages and Systems10.1007/978-3-031-57267-8_15(391-420)Online publication date: 6-Apr-2024
  • (2021)Safer exceptions for ScalaProceedings of the 12th ACM SIGPLAN International Symposium on Scala10.1145/3486610.3486893(1-11)Online publication date: 17-Oct-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '99: Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 1999
324 pages
ISBN:1581130953
DOI:10.1145/292540
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1999

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

POPL99
POPL99: Symposium on Prinicples of Programming Languages 1999
January 20 - 22, 1999
Texas, San Antonio, USA

Acceptance Rates

POPL '99 Paper Acceptance Rate 24 of 136 submissions, 18%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)90
  • Downloads (Last 6 weeks)70
Reflects downloads up to 10 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Explicit Effects and Effect Constraints in ReMLProceedings of the ACM on Programming Languages10.1145/36329218:POPL(2370-2394)Online publication date: 5-Jan-2024
  • (2024)Detection of Uncaught Exceptions in Functional Programs by Abstract InterpretationProgramming Languages and Systems10.1007/978-3-031-57267-8_15(391-420)Online publication date: 6-Apr-2024
  • (2021)Safer exceptions for ScalaProceedings of the 12th ACM SIGPLAN International Symposium on Scala10.1145/3486610.3486893(1-11)Online publication date: 17-Oct-2021
  • (2021)ReferencesConcepts and Semantics of Programming Languages 110.1002/9781119824121.refs(293-294)Online publication date: 30-Apr-2021
  • (2016)Effect-dependent transformations for concurrent programsProceedings of the 18th International Symposium on Principles and Practice of Declarative Programming10.1145/2967973.2968602(188-201)Online publication date: 5-Sep-2016
  • (2014)Gradual Typing for Annotated Type SystemsProceedings of the 23rd European Symposium on Programming Languages and Systems - Volume 841010.1007/978-3-642-54833-8_4(47-66)Online publication date: 5-Apr-2014
  • (2009)A Type System For Call-By-Name ExceptionsLogical Methods in Computer Science10.2168/LMCS-5(4:1)20095:4Online publication date: 2-Nov-2009
  • (2009)Translation and optimization for a core calculus with exceptionsProceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation10.1145/1480945.1480952(41-50)Online publication date: 19-Jan-2009
  • (2008)A System F with Call-by-Name ExceptionsProceedings of the 35th international colloquium on Automata, Languages and Programming, Part II10.1007/978-3-540-70583-3_27(323-335)Online publication date: 7-Jul-2008
  • (2007)Static error detection using semantic inconsistency inferenceACM SIGPLAN Notices10.1145/1273442.125078442:6(435-445)Online publication date: 10-Jun-2007
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media