There now exist several tracing systems for Haskell, demonstrating the practical viability of different tracing methods. However, combining different methods and generalising them further proves hard to do and many anomalies and defects in existing systems have come to light. To overcome these problems we need simple models of the tracing systems. We need a theoretical foundation for tracing. It is the aim of an EPSRC project starting right now to provide this foundation.
In the talk I will describe several tracing methods. I continue with a number of problems and shortcomings that have come to light. Finally I will outline the semantical theory that we intend to establish. The theory will describe both strict and non-strict languages and prove the correctness of various fault location algorithms.