Title :
Let´s hear both sides: On combining type-error reporting tools
Author :
Sheng Chen ; Erwig, Martin ; Smeltzer, Karl
fDate :
July 28 2014-Aug. 1 2014
Abstract :
Producing precise and helpful type error messages has been a challenge for the implementations of functional programming languages for over 3 decades now. Many different approaches and methods have been tried to solve this thorny problem, but current type-error reporting tools still suffer from a lack of precision in many cases. Based on the rather obvious observation that different approaches work well in different situations, we have studied the question of whether a combination of tools that exploits their diversity can lead to improved accuracy. Specifically, we have studied Helium, a Haskell implementation particularly aimed at producing good type error messages, and Lazy Typing, an approach developed previously by us to address the premature-error-commitment problem in type checkers. By analyzing the respective strengths and weaknesses of the two approaches we were able to identify a strategy to combine both tools that could markedly improve the accuracy of reported errors. Specifically, we report an evaluation of 1069 unique ill-typed programs out of a total of 11256 Haskell programs that reveals that this combination strategy enjoys a correctness rate of 79%, which is an improvement of 22%/17% compared to using Lazy Typing/Helium alone. In addition to describing this particular case study, we will also report insights we gained into the combination of error-reporting tools in general.
Keywords :
functional languages; Haskell implementation; Helium; Lazy Typing; combination strategy; functional programming languages; ill-typed programs; premature-error-commitment problem; type checkers; type error messages; type-error reporting tools; Context; Databases; Diversity reception; Educational institutions; Fault location; Helium; Program processors;
Conference_Titel :
Visual Languages and Human-Centric Computing (VL/HCC), 2014 IEEE Symposium on
Conference_Location :
Melbourne, VIC
DOI :
10.1109/VLHCC.2014.6883038