• DocumentCode
    1788267
  • Title

    Let´s hear both sides: On combining type-error reporting tools

  • Author

    Sheng Chen ; Erwig, Martin ; Smeltzer, Karl

  • fYear
    2014
  • fDate
    July 28 2014-Aug. 1 2014
  • Firstpage
    145
  • Lastpage
    152
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Visual Languages and Human-Centric Computing (VL/HCC), 2014 IEEE Symposium on
  • Conference_Location
    Melbourne, VIC
  • Type

    conf

  • DOI
    10.1109/VLHCC.2014.6883038
  • Filename
    6883038