A practical method for LR and LL syntactic error diagnosis and recovery
ACM Transactions on Programming Languages and Systems (TOPLAS)
Explaining type errors in polymorphic languages
ACM Letters on Programming Languages and Systems (LOPLAS)
Science of Computer Programming
Proofs about a folklore let-polymorphic type inference algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
A slicing-based approach for locating type errors
ACM Transactions on Software Engineering and Methodology (TOSEM)
Finding the source of type errors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Correcting Errors in the Curry System
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Interactive type debugging in Haskell
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Type error slicing in implicitly typed higher-order languages
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algorithm specialization in generic programming: challenges of constrained generics in C++
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Seminal: searching for ML type-error messages
Proceedings of the 2006 workshop on ML
Type inference for datalog and its application to query optimisation
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
A type system equivalent to a model checker
ACM Transactions on Programming Languages and Systems (TOPLAS)
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
On compiler error messages: what they say and what they mean
Advances in Human-Computer Interaction
Modular rollback through control logging: a pair of twin functional pearls
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Automatic protocol-conformance recommendations
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Mind your language: on novices' interactions with error messages
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
An approach to completing variable names for implicitly typed functional languages
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Automated documentation inference to explain failed tests
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Automated error diagnosis using abductive inference
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Improving IDE recommendations by considering global implications of existing recommendations
Proceedings of the 34th International Conference on Software Engineering
Constraint-Free type error slicing
TFP'11 Proceedings of the 12th international conference on Trends in Functional Programming
An error-tolerant type system for variational lambda calculus
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Marco: safe, expressive macros for any language
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Comparative language fuzz testing: programming languages vs. fat fingers
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Security type error diagnosis for higher-order, polymorphic languages
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Counter-factual typing for debugging type errors
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Toward general diagnosis of static errors
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Advanced type systems often need some form of type inference to reduce the burden of explicit typing, but type inference often leads to poor error messages for ill-typed programs. This work pursues a new approach to constructing compilers and presenting type-error messages in which the type-checker itself does not produce the messages. Instead, it is an oracle for a search procedure that finds similar programs that do type-check. Our two-fold goal is to improve error messages while simplifying compiler construction. Our primary implementation and evaluation is for Caml, a language with full type inference. We also present a prototype for C++ template functions, where type instantiation is implicit. A key extension is making our approach robust even when the program has multiple independent type errors.