Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming 2015
DOI: 10.1145/2784731.2784765
|View full text |Cite
|
Sign up to set email alerts
|

Practical SMT-based type error localization

Abstract: Compilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as the source of the error. Since other error sources are not even considered, the actual root cause is often missed. A more adequate approach is to consider all possible error sources and report the most useful one subject to some usefulness criterion. In our previous work, we… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2015
2015
2023
2023

Publication Types

Select...
7
2

Relationship

1
8

Authors

Journals

citations
Cited by 22 publications
(10 citation statements)
references
References 29 publications
(70 reference statements)
0
10
0
Order By: Relevance
“…Understanding and debugging static type errors is notoriously difficult, particularly for novices. A variety of approaches have been proposed to better localize and explain type errors Erwig 2014, 2018;Lerner et al 2006;Pavlinovic et al 2015;Zhang et al 2017]. One of these approaches, by Seidel et al [2016], uses symbolic execution and program synthesis to generate a dynamic witness that demonstrates a run-time failure that could be caused by the static type error.…”
Section: Type Error Messagesmentioning
confidence: 99%
“…Understanding and debugging static type errors is notoriously difficult, particularly for novices. A variety of approaches have been proposed to better localize and explain type errors Erwig 2014, 2018;Lerner et al 2006;Pavlinovic et al 2015;Zhang et al 2017]. One of these approaches, by Seidel et al [2016], uses symbolic execution and program synthesis to generate a dynamic witness that demonstrates a run-time failure that could be caused by the static type error.…”
Section: Type Error Messagesmentioning
confidence: 99%
“…As an application example, Pavlinovic et al [39] propose an approach which considers all possible compiler error sources for statically typed functional programming languages and reports the most useful one subject to some usefulness criterion. The authors formulate this approach as an optimization problem related to SMT and use νZ to compute an optimal error source in a given ill-typed program.…”
Section: Related Workmentioning
confidence: 99%
“…Zhang et al [41,42] present an algorithm for identifying the most likely culprit using Bayesian reasoning. Pavlinovic et al [29,30] translate the localization problem to a MaxSMT optimization problem, using compiler-provided weights to rank the possible sources.…”
Section: Related Workmentioning
confidence: 99%