Integrating Large Language Models into the Debugging C Compiler for generating contextual error explanations

08/23/2023
by   Andrew Taylor, et al.
0

This paper introduces a method for Large Language Models (LLM) to produce enhanced compiler error explanations, in simple language, within our Debugging C Compiler (DCC). It is well documented that compiler error messages have been known to present a barrier for novices learning how to program. Although our initial use of DCC in introductory programming (CS1) has been instrumental in teaching C to novice programmers by providing safeguards to commonly occurring errors and translating the usually cryptic compiler error messages at both compile- and run-time, we proposed that incorporating LLM-generated explanations would further enhance the learning experience for novice programmers. Through an expert evaluation, we observed that LLM-generated explanations for compiler errors were conceptually accurate in 90 compile-time errors, and 75 tool has been increasingly adopted by students, with an average of 1047 unique runs per week, demonstrating a promising initial assessment of using LLMs to complement compiler output to enhance programming education for beginners. We release our tool as open-source to the community.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/20/2022

Using Large Language Models to Enhance Programming Error Messages

A key part of learning to program is learning to understand programming ...
research
03/17/2023

ChameleonIDE: Untangling Type Errors Through Interactive Visualization and Exploration

Dynamically typed programming languages are popular in education and the...
research
07/20/2023

Addressing Compiler Errors: Stack Overflow or Large Language Models?

Compiler error messages serve as an initial resource for programmers dea...
research
06/27/2023

SparseOptimizer: Sparsify Language Models through Moreau-Yosida Regularization and Accelerate via Compiler Co-design

This paper introduces SparseOptimizer, a novel deep learning optimizer t...
research
11/12/2020

The Usability of Ownership

Ownership is the concept of tracking aliases and mutations to data, usef...
research
06/27/2019

Enhancing Python Compiler Error Messages via Stack Overflow

Background: Compilers tend to produce cryptic and uninformative error me...
research
08/28/2022

ECP SOLLVE: Validation and Verification Testsuite Status Update and Compiler Insight for OpenMP

The OpenMP language continues to evolve with every new specification rel...

Please sign up or login with your details

Forgot password? Click here to reset