Tracking down Exceptions in Standard ML Programs

Manuel Fahndrich, Jeffrey S. Foster, Jason Cu and Alexander Aiken

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-98-996
February 1998

http://www.eecs.berkeley.edu/Pubs/TechRpts/1998/CSD-98-996.pdf

We describe our experiences with an exception analysis tool for Standard ML. Information about exceptions gathered by the analysis is visualized using PAM, a program visualization tool for EMACS. We study the results of the analysis of three well-known programs, classifying exceptions as assertion failures, error exceptions,control-flow exceptions, and pervasive exceptions. Even though the analysis is often conservative and reports many spurious exceptions, we have found it useful for checking the consistency of error and control-flow exceptions. Furthermore, using our tools, we have uncovered two minor exception-related bugs in the three programs we scrutinized.


BibTeX citation:

@techreport{Fahndrich:CSD-98-996,
    Author = {Fahndrich, Manuel and Foster, Jeffrey S. and Cu, Jason and Aiken, Alexander},
    Title = {Tracking down Exceptions in Standard ML Programs},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1998},
    Month = {Feb},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1998/5561.html},
    Number = {UCB/CSD-98-996},
    Abstract = {We describe our experiences with an exception analysis tool for Standard ML. Information about exceptions gathered by the analysis is visualized using PAM, a program visualization tool for EMACS. We study the results of the analysis of three well-known programs, classifying exceptions as assertion failures, error exceptions,control-flow exceptions, and pervasive exceptions. Even though the analysis is often conservative and reports many spurious exceptions, we have found it useful for checking the consistency of error and control-flow exceptions. Furthermore, using our tools, we have uncovered two minor exception-related bugs in the three programs we scrutinized.}
}

EndNote citation:

%0 Report
%A Fahndrich, Manuel
%A Foster, Jeffrey S.
%A Cu, Jason
%A Aiken, Alexander
%T Tracking down Exceptions in Standard ML Programs
%I EECS Department, University of California, Berkeley
%D 1998
%@ UCB/CSD-98-996
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/1998/5561.html
%F Fahndrich:CSD-98-996