Syntax errors just aren't natural: improving error reporting with language models
By Hazel Victoria Campbell, Abram Hindle, José Nelson Amaral. 2014
92 citations recorded by the source corpus.
Subfields: Computer Networks and Communications, Information Systems, Software
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Charles Sutton
- Earl T. Barr
- Alberto Bacchelli
- Christian Bird
- Vincent J. Hellendoorn
- Pushmeet Kohli
- Baishakhi Ray
- Romain Robbes
In Information Systems
- Charles Sutton
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Rafael-Michael Karampatsis
- Vincent J. Hellendoorn
- Earl T. Barr
- Romain Robbes
- Michael Pradel
In Software
- Charles Sutton
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Earl T. Barr
- Vincent J. Hellendoorn
- Rafael-Michael Karampatsis
- Michael Pradel
- Rishabh Singh
Citations in the corpus
- The adverse effects of code duplication in machine learning models of code (2018, neutral): “ould be appreciated that not all metrics and tasks are equally affected by code duplication.For example, if an application requires predicting code’s non-identifier tokens (e.g. as in Campbell et al. [10]), duplication would have a much smaller effect compared to an autocompletion application for pr”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “Campbell et al. [18] used n -gram language models to detect syntax error locations in Java code, and later used an NLM for the same purpose [78].”
- Learning to Fix Build Errors with Graph2Diff Neural Networks (2019, background): “Previous work on syntax errors has been very successful generating repairs resolving missing delimiters and parentheses [10, 15].”
- Bugram: Bug detection with n-gram language models (2016, methodology): “[5] built n-gram models with historical correct source code to locate the cause of syntax errors.”
- Toward Deep Learning Software Repositories (2015, background): “human oracle cost [7], predicting programmer comments to improve search over code bases and code categorization [8], improving error reporting [10], generating feasible test cases to improve coverage [11], improving stylistic consistency to aid readability and maintainability [13], and code migratio”
- On the localness of software (2014, unknown): “As mentioned earlier, good language models will be useful for other applications: code porting [35], coding standards checking [3], correcting syntax errors [12] We emulate code suggestion in two scenarios: coding in new files where only prolog is available (Section 5.”
- Neuro-Symbolic Program Corrector for Introductory Programming Assignments (2018, methodology): “Campbell et al. [6] presented a technique to use unnaturalness of code with syntax errors to locate the actual source of errors.”
- Mining idioms from source code (2014, methodology): “N -gram language models have been used to improve code autocompletion performance [2, 18, 39], learn coding conventions [3] and find syntax errors [8].”
- Deep learning code fragments for code clone detection (2016, methodology): “We enlist a particular type of language model to map the terms in source code to continuous-valued vectors called embeddings (Sec.”
- On the "Naturalness" of Buggy Code (2015, background): “In fact, prior work [7] showed that syntactically incorrect code is flagged as improbable by language models.”
- Maybe Deep Neural Networks are the Best Choice for Modeling Source Code (2019, methodology): “Also, improved language models for code have the potential to enable new tools for aiding code readability [2], program repair [11, 15, 35, 62], program synthesis [34] and translation be-tween programming languages [45, 56].”
- On the naturalness of software (2016, background): “For example, Campbell et al.(10) diagnose syntax error locations by exploiting the fact that language models trained on working code will be surprised by syntax errors.”
- Are deep neural networks the best choice for modeling source code? (2017, background): “As we shall see, performance in this final setting is best-in-class, and has ramifications for code synthesis [14, 30], fault localization [8, 31], code naturalization [2] and many real-world code suggestions settings [15, 29].”
- Products, developers, and milestones: how should I build my N-Gram language model (2015, methodology): “For example, Movshovitz-Attias and Co-hen demonstrated how to use LMs to generate code comments [4] and Campbell et al. showed they could improve error reporting [6].”