Published August 18, 2022 | Version v2
Software Open

Novice Type Error Diagnosis with Natural Language Models - Artifacts

  • 1. McGill Univeristy
  • 2. McGill University

Description

Strong type system helps programmers to eliminate many er-
rors without much burden of supplying type annotations. However, this
flexibility makes it highly non-trivial to diagnose the failure mode, es-
pecially for novice programmers. Compared to classic constraint solving
and optimization-based approaches, the data-driven approach has shown
great promise in identifying the root cause of type errors with high accu-
racy. Instead of relying on hand-engineered features, this work explores
natural language models for type error localization, which can be trained
in an end-to-end fashion without requiring any features. We demonstrate
that, for novice type error diagnosis, language model based approach
significantly outperforms the previous state-of-the-art data-driven ap-
proach. Specifically, our transformer model could predict type errors
correctly 62% of the time, outperforming the state-of-the-art Nate’s
data-driven model by 11%, in a more rigorous metric of accuracy mea-
surement. Furthermore, we also apply structural probe to explain the
performance difference of different language models.

 

Artifacts

  • Kaggle Notebooks
    1. inference-7fa4ae-final.ipynb
    2. inference-for-model-training.ipynb
  • nater.ova (Virtual Machine)
    1. Scripts for computing NATE models's accuracies under the new metric
  • Scripts for Generating Graphs
    1. Accuracy of Type Error Localization Techniques.py
    2. Impact of type error threshold on blame accuracy.py
    3. Impacts on training loss.py

The size of this partifact package is about 5.2 Gb

Files

inference-7fa4ae-final.ipynb

Files (5.1 GB)

Name Size Download all
md5:ed40e79d4a7df2482320ebf0b05c356c
3.4 kB Download
md5:4a1fffd65657de97b0aa2ac39ebc6a7d
5.5 kB Download
md5:3e31148dad705a59aabea4de27d919bc
13.8 kB Download
md5:e5c13a75d6cee4f164bebce7c930b097
66.2 kB Preview Download
md5:becd939ae6a6cf87670c0f504c29557e
76.6 kB Preview Download
md5:a945b29abe5b648a84cbdd02896df5b0
5.1 GB Download
md5:084f169a7698bb6797370edf1eca3e41
14.3 kB Preview Download