A slicing-based approach for locating type errors
T.B. Dinesh, Frank Tip
DSL 1997
The effectiveness of a type-checking tool strongly depends on the accuracy of the positional information that is associated with type errors. We present an approach where the location associated with an error message e is defined as a slice Pe of the program P being type-checked. We show that this approach yields highly accurate positional information: Pe is a program that contains precisely those program constructs in P that caused error e. Semantically, we have the interesting property that type-checking Pe is guaranteed to produce the same error e. Our approach is completely language-independent and has been implemented for a significant subset of Pascal. We also report on experiments with object-oriented type systems, and with a subset of ML.
T.B. Dinesh, Frank Tip
DSL 1997
J.A. Bergstra, T.B. Dinesh, et al.
ACM TOPLAS
J. Field, J. Heering, et al.
ACM Computing Surveys
P.F. Sweeney, F. Tip
PLDI 1998