Estimating Uncaught Exceptions in Standard ML Programs from Type-Based Equations

  • Authors:
  • Kwangkeun Yi;Sukyoung Ryu;Ki-Hyun Pyun

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a static analysis that detects potential runtime exceptions that are raised and never handled inside Standard ML (SML) programs. Contrary to our earlier method (based on abstract interpretation) where the input program's control flow is simultaneously computed while our exception analysis progresses, we separate the two phases in a manner similar to conventional data flow analysis. Before the exception analysis begins, we first estimate the input program's control flow from the type information from SML/NJ compiler. Based on this call-graph structure, exception flow is specified as a set of equations, whose solution is computed using an iterative least fixpoint method. At time of this writing, a prototype of this analysis is applied to two realistic SML programs (ML-LEX and OR-SML core) and is 3 or 40 times faster than the earlier method and saves memory by 35 or 65 percent.