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 P_e of the program P being type checked. We show that this approach yields highly accurate positional information: P_e is a program that contains precisely those program constructs in P that caused error e. Semantically, we have the interesting property that type checking P_e is guaranteed to produce the same error e. Our approach is completely language-independent, and has been implemented for a significant subset of Pascal.

, ,
, ,
CWI
Software Engineering [SEN]

Dinesh, T. B., & Tip, F. (1998). A slicing-based approach for locating type errors. Software Engineering [SEN]. CWI.