A study of the uniqueness of source code
By Mark Gabel, Zhendong Su. 2010
235 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software, Program Analysis & Verification
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Premkumar T. Devanbu
- Charles Sutton
- Miltiadis Allamanis
- Rafael-Michael Karampatsis
- Romain Robbes
- Hlib Babii
- Andrea Janes
- Earl T. Barr
In Information Systems
- Charles Sutton
- Premkumar T. Devanbu
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Earl T. Barr
- Rafael-Michael Karampatsis
- Michael Pradel
- Romain Robbes
In Software
- Charles Sutton
- Premkumar T. Devanbu
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Earl T. Barr
- Rafael-Michael Karampatsis
- Anh Tuan Nguyen
- Baishakhi Ray
In Program Analysis & Verification
- Miltiadis Allamanis
- Charles Sutton
- Premkumar T. Devanbu
- Rafael-Michael Karampatsis
- Earl T. Barr
- Romain Robbes
- Hlib Babii
- Andrea Janes
Citations in the corpus
- A Survey of Machine Learning for Big Code and Naturalness (2017, background): “On the other hand, Gabel and Su [67] have”
- Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow (2018, neutral): “First, it is highly repetitive [8, 10], therefore”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, methodology): “Repair approaches based on the redundancy assumption are called redundancy-based repair techniques, since they leverage redundancy and repetition in source code [7, 12, 18, 29, 50, 59, 64, 89].”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “Seminal studieshave laid the groundwork for the use of language models on source code: Gabel and Su show that software is very repetitive [33], which motivates the use of statistical modelling for code.”
- Emergent, crowd-scale programming practice in the IDE (2014, background): “However, programming is also highly redundant when examined at a small enough level of granularity [12].”
- Mining idioms from source code (2014, background): “Source code has been shown to be highly repetitive [14], suggesting that statistical NLP methods could be promising for code analysis.”
- Cross-project code clones in GitHub (2018, background): “These are the most common type of code cloning (69% to 91% of all clones) and have been widely studied in the past (Kamiya et al. 2002; Gabel and Su 2010; Ray et al. 2014).”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, background): “Gabel and Su [21] reported syntactic redundancy at the granularity level of 6–40 tokens (they treat source code as a sequence of syntactic tokens with the abstraction on variables’ names).”
- Mining source code repositories at massive scale using language modeling (2013, methodology): “To our knowledge, research on software repositories, with the exception of Gabel and Su [4] and Gruska et al. [5], has focused on small curated corpora of projects.”
- A statistical semantic language model for source code (2013, background): “Previous research has shown that source code in programming languages exhibits a good level of repetition [5, 8].”
- Building Language Models for Text with Named Entities (2018, background): “Such comprehensible software corpora show surprising regularity (Ray et al., 2015; Gabel and Su, 2010) that is quite similar to the statistical properties of natural language corpora and thus, amenable to large-scale statistical analysis (Hindle et al., 2012).”
- A Study of "Wheat" and "Chaff" in Source Code (2015, background): “This work follows recent, seminal studies on the “uniqueness” [9] and the “naturalness” [12] of code.”
- On the naturalness of software (2012, background): “In the 1980s, a fundamental shift to corpus-based, statistically rigorous methods occurred.”
- Modeling Vocabulary for Big Code Machine Learning (2019, methodology): “Seminal studies have laid the groundwork for the use of language models on source code: Gabel and Su show that software is very repetitive [25].”
- The plastic surgery hypothesis (2014, background): “As a community, we have learned that several lines of code are required for a change to be unique [11] and that a surprising number of changes are redundant, in the sense that they repeat changes already made [25,29].”
- On the localness of software (2014, background): “Our work is based on the observation that programming languages are far more regular than natural language [18] and code fragments of surprisingly large size tend to reoccur [16].”
- DeepSim: deep learning code functional similarity (2018, background): “In addition, Gabel and Su [18] studied code uniqueness on a large code repository of 420M LOC, and observed significant code redundancy at granularity of 6-40 tokens.”