of Real-World Haskell Programs: Deriving Dependencies from the Cost Centre Stack

2015 
Existing algorithmic debuggers for Haskell require a transforma- tion of all modules in a program, even libraries that the user does not want to debug and which may use language features not sup- ported by the debugger. This is a pity, because a promising ap- proach to debugging is therefore not applicable to many real-world programs. We use the cost centre stack from the Glasgow Haskell Compiler profiling environment together with runtime value obser- vations as provided by the Haskell Object Observation Debugger (HOOD) to collect enough information for algorithmic debugging. Program annotations are in suspected modules only. With this tech- nique algorithmic debugging is applicable to a much larger set of Haskell programs. This demonstrates that for functional languages in general a simple stack trace extension is useful to support tasks such as profiling and debugging. Categories and Subject Descriptors D.2.5 (Software Engineer- ing): Testing and Debugging
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    26
    References
    0
    Citations
    NaN
    KQI
    []