Skip to main content
Kent Academic Repository

Debugging Type Errors with a Blackbox Compiler

Sharrad, Joanna (2022) Debugging Type Errors with a Blackbox Compiler. Doctor of Philosophy (PhD) thesis, University of Kent,. (doi:10.22024/UniKent/01.02.93540) (KAR id:93540)

Abstract

Type error debugging can be a laborious yet necessary process for programmers of statically typed functional programming languages. Often a compiler compounds this by inaccurately reporting the location of a type error, a problem that has been a subject of research for over thirty years. However, despite its long history, the solutions proposed are often reliant on direct modifications to the compiler, often distributed in the form of patches. These patches append another level of arduous activity to the task of debugging, keeping them modernised to the ever-changing programming language they support.

This thesis investigates an additional option; the blackbox compiler. Split into three central parts, it shows the individual solutions involved in using a blackbox compiler to debug type errors in functional programming languages. First is a demonstration of how the combination of a blackbox compiler and a generic debugging algorithm can successfully locate type errors. Next tackled is a side-effect of this new combination, the introduction of extra errors, combated with a new speed boosted algorithm, evaluated with a proposed framework based on Data Science techniques to quantify the quality of a type error debugger. Lastly, the algorithms employed throughout this thesis, along with the blackbox compiler, have agnostic properties, they do not need language-specific knowledge. Thus, the final part presents utilising the agnostic abilities for an agnostic debugger to locate type errors.

Item Type: Thesis (Doctor of Philosophy (PhD))
Thesis advisor: Chitil, Olaf
DOI/Identification number: 10.22024/UniKent/01.02.93540
Uncontrolled keywords: delta debugging blackbox compiler functional programming
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
SWORD Depositor: System Moodle
Depositing User: System Moodle
Date Deposited: 10 Mar 2022 16:10 UTC
Last Modified: 15 Mar 2022 08:03 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/93540 (The current URI for this page, for reference purposes)

University of Kent Author Information

Sharrad, Joanna.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.