Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Fri 27 Oct 2017 14:37 - 15:00 at Regency A - Usability and Deadlock Chair(s): Jonathan Aldrich

Type inference is convenient by allowing programmers to elide type-annotations, but this comes at the cost of often generating very confusing and opaque type error messages, which are of little help to fix type errors. Though there have been many successful attempts at making type-error messages better in the past thirty years, many classes of errors are still difficult to fix. In particular, current approaches still generate imprecise and uninformative error messages for type errors arising from errors in grouping constructs like parentheses and brackets. Worse, a recent study shows that these errors usually take more than 10 steps to fix and occur quite frequently (around 50% to 60% of all type-errors) in programs written by students learning functional programming. We call this class of errors, nonstructural errors.

We solve this problem by developing LEARNSKELL, a type error debugger that uses machine learning to help diagnose and deliver high quality error messages, for programs that contain nonstructural errors. While previous approaches usually report type errors on typing constraints or on the type level, LEARNSKELL generates suggestions on the expression level. We have performed a study on more than 1,000 ill-typed programs, and the result shows that LEARNSKELL is quite precise. It can capture 89% of nonstructural errors and locate the error cause with a precision of 65%/87% with the first 1/3 messages, respectively. This is several times more than the precision of state-of-the-art compilers and debuggers. We have also studied the performance of LEARNSKELL and found out that it scales to large programs.

Fri 27 Oct

Displayed time zone: Tijuana, Baja California change

13:30 - 15:00
Usability and DeadlockOOPSLA at Regency A
Chair(s): Jonathan Aldrich Carnegie Mellon University
13:30
22m
Talk
Deadlock Avoidance in Parallel Programs with Futures: Why Parallel Tasks Should Not Wait for Strangers
OOPSLA
Tiago Cogumbreiro Rice University, Rishi Surendran Rice University, USA, Francisco Martins LaSIGE, University of Lisbon, Vivek Sarkar Rice University, USA, Vasco T. Vasconcelos University of Lisbon, Portugal, Max Grossman Rice University, USA
DOI
13:52
22m
Talk
Detecting Argument Selection Defects
OOPSLA
Andrew Rice University of Cambridge, UK, Eddie Aftandilian Google, Ciera Jaspan Google, Emily Johnston Google, Michael Pradel TU Darmstadt, Yulissa Arroyo-Paredes Columbia University, USA
DOI
14:15
22m
Talk
How Type Errors Were Fixed and What Students Did?
OOPSLA
Baijun Wu University of Louisiana at Lafayette, USA, Sheng Chen ULL Lafayette
DOI
14:37
22m
Talk
Learning User Friendly Type-Error Messages
OOPSLA
Baijun Wu University of Louisiana at Lafayette, USA, John Peter Campora ULL Lafayette, Sheng Chen ULL Lafayette
DOI