A slicing-based approach for locating type errors
- 1 January 2001
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
- Vol. 10 (1) , 5-55
- https://doi.org/10.1145/366378.366379
Abstract
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. We also report on experiments with object-oriented type systems, and with a subset of ML.Keywords
This publication has 19 references indexed in Scilit:
- Compilation and Memory Management for ASF+SDFPublished by Springer Nature ,1999
- Dynamic dependence in term rewriting systems and its application to program slicingInformation and Software Technology, 1998
- Within ARM's reachACM Transactions on Programming Languages and Systems, 1998
- Explaining type inferenceScience of Computer Programming, 1996
- Origin trackingJournal of Symbolic Computation, 1993
- A meta-environment for generating programming environmentsACM Transactions on Software Engineering and Methodology, 1993
- Report on the programming language HaskellACM SIGPLAN Notices, 1992
- The syntax definition formalism SDF—reference manual—ACM SIGPLAN Notices, 1989
- Basic polymorphic typecheckingScience of Computer Programming, 1987
- Conditional rewrite rules: Confluence and terminationJournal of Computer and System Sciences, 1986