2000
DOI: 10.1145/349214.349230
|View full text |Cite
|
Sign up to set email alerts
|

Type-based analysis of uncaught exceptions

Abstract: This article presents a program analysis to estimate uncaught exceptions in ML programs. This analysis relies on unification-based type inference in a nonstandard 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.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
35
0

Year Published

2001
2001
2015
2015

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 66 publications
(35 citation statements)
references
References 41 publications
0
35
0
Order By: Relevance
“…We, therefore, have to extend our type system with polyvariant recursion. While inferring polymorphic recursive types is undecidable in general (Kfoury et al 1993;Henglein 1993)-and, being an automatic analysis, we do not want to rely on any programmer-supplied annotations-earlier research (Tofte and Talpin 1994;Dussart et al 1995;Rittri 1995;Leroy and Pessaux 2000) has shown that this special case of polyvariant recursion is often both crucial to obtain adequate precision and feasible to infer automatically.…”
Section: Data Flowmentioning
confidence: 99%
See 1 more Smart Citation
“…We, therefore, have to extend our type system with polyvariant recursion. While inferring polymorphic recursive types is undecidable in general (Kfoury et al 1993;Henglein 1993)-and, being an automatic analysis, we do not want to rely on any programmer-supplied annotations-earlier research (Tofte and Talpin 1994;Dussart et al 1995;Rittri 1995;Leroy and Pessaux 2000) has shown that this special case of polyvariant recursion is often both crucial to obtain adequate precision and feasible to infer automatically.…”
Section: Data Flowmentioning
confidence: 99%
“…Guzmán and Suárez (1994) and Fahndrich et al (1998) describe type-based exception analyses, neither are very precise. The row-based type system for exception analysis described in Leroy and Pessaux (2000) does containing a data-flow analysis component, although one that is specialized towards tracking value-carrying exceptions instead of valuedependent exceptions and thus employs a less precise unification method instead of subtyping. Glynn et al (2002) developed the first exception analysis for non-strict languages.…”
Section: Related Workmentioning
confidence: 99%
“…We use a Hindley/Milner type system inspired from that of ML, with added effects [13,26] and constraints [20]. In this section, we will first concentrate on the prevention of invalid parallelism, then introduce more constructs that are needed to avoid nested parallelism.…”
Section: Definition Of the Type Systemmentioning
confidence: 99%
“…The program Exception encodes the following exception analysis problem (of checking whether an uncaught exception may be raised), taken from [21]: let failwith msg = raise(Failure msg) let f x = if ... then ... else failwith ("f") let g x = try f x with Failure "f" -> 0 let main() = g() By representing exception handlers as alternative continuations as in [7], we get the following recursion scheme.…”
Section: Programsmentioning
confidence: 99%