Skip to content
Open access

Goanna: a novel approach for automated type error debugging

Sep 2026 · International Conference on Automated Software Engineering · Vol 33 · 0 citations · 55 references

TL;DR

Goanna is introduced, a novel type checker for Haskell that focuses on improving error diagnostics, and shows performance constraints when diagnosing large programs containing complex errors, but remains responsive enough to provide real-time debugging assistance for small to medium-sized programs.

Abstract

Statically typed languages offer many advantages in software engineering, including bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits come at the expense of a steep learning curve and a slower development pace. Although known for its expressive and strong type system, Haskell often frustrates programmers as they learn and use that type system, especially when debugging type errors. We introduce Goanna, a novel type checker for Haskell that focuses on improving error diagnostics. When a type error occurs, Goanna identifies a comprehensive list of possible causes and provides a potential course of action for each. To achieve this, Goanna uses constraint logic programming and Minimal Correction Subsets (MCSes) to support its diagnostics. We evaluated Goanna’s effectiveness on 49,750 Haskell programs, demonstrating its ability to identify root causes with higher accuracy (81.6%) than traditional tools (Helium, 65.5%; GHC, 33.7%). In our benchmark study, Goanna shows performance constraints when diagnosing large programs containing complex errors, but remains responsive enough to provide real-time debugging assistance for small to medium-sized programs.

Read PDF

Similar papers

Book Open access Aug 2026

Does Great Power Come with Great Explainability? Comparing Explanation Strategies for Automated Program Diagnosis

AlHAZEN and AVICENNA show that effective debugging tools have tradeoffs between accuracy and interpretability to support developers’ decision-making in increasingly complex software environments.

C. Lazik, Martin Eberlein, Aaron Ziglowski et al. · 0 citations
Open access Sep 2026

When Does Context Help? A Controlled Study ofLLM-Based Bug Fixing

Large language models (LLMs) have shown promise for automated program repair, but it remains unclear which debugging signals are most useful and when additional context becomes distracting, costly, or ineffective. We present a controlled empirical study of LLM-based bug fixing on FIXEVAL, comparing three model families...

Dinesh Kumar Gummadavelli, Xian-Shan Qu, Xiao-Peng Li et al. · 0 citations
Open access Aug 2026

Improving Bug Detection in LLM-Generated Unit Tests: Revisiting Test-Oracle Reliability Across Modern Large Language Models

This paper presents a formal mathematical model for categorizing the outcome of generated-tests into four classes, a couple of basic metrics: Bug-Revealing Rate (BRR) and Bug-Validating Rate (BVR); and two basic statistical tests to ensure that the results are rigorous.

Zeyad Farooq Lutfi · 0 citations
#software testing Book Open access Sep 2026

ACF: Infrastructure for Debugging Long-Running Systems with Tracing and Unit Test Execution

A debugging workflow that combines dynamic analysis with directed unit tests is introduced, and ACF, an infrastructure for automating this workflow is presented, indicating that ACF can help developers to isolate specific inputs causing an error, thus simplifying the process of locating faulty statements.

Roman Vašut, P. Parízek · 0 citations
Preprint Aug 2026

Rethinking Automated Program Repair: The Impact of Bug Complexity, Fault Localization, and LLM Cost-efficiency

A comprehensive empirical analysis of LLM-based APR techniques, focusing on how repair performance is shaped by bug complexity, fault localization, reasoning settings, and costs, reveals a nontrivial trade-off between repair effectiveness and computational cost.

Jun-Chi Liu, Ali Bigdeli, Roya Daneshi et al. · 2 citations
#software testing Preprint Sep 2026

How effective are traditional test criteria at detecting bugs in large language models generated code?

An empirical study involving 5 Large Language Models and 4 benchmarks evaluates the effectiveness and efficiency of 3 widely used adequacy criteria: statement coverage, branch coverage, and mutation testing, finding that mutation testing only marginally outperforms traditional coverage criteria in both triggering and d...

Asma Hamidi, Michael Konstantinou, R. Degiovanni et al. · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.