Title
On the Generation, Structure, and Semantics of Grammar Patterns in Source Code Identifiers
Abstract
Identifiers make up a majority of the text in code. They are one of the most basic mediums through which developers describe the code they create and understand the code that others create. Therefore, understanding the patterns latent in identifier naming practices and how accurately we are able to automatically model these patterns is vital if researchers are to support developers and automated analysis approaches in comprehending and creating identifiers correctly and optimally. This paper investigates identifiers by studying sequences of part-of-speech annotations, referred to as grammar patterns. This work advances our understanding of these patterns and our ability to model them by (1) establishing common naming patterns in different types of identifiers, such as class and attribute names; (2) analyzing how different patterns influence comprehension; and (3) studying the accuracy of state-of-the-art techniques for part-of-speech annotations, which are vital in automatically modeling identifier naming patterns, in order to establish their limits and paths toward improvement. To do this, we manually annotate a dataset of 1,335 identifiers from 20 open-source systems and use this dataset to study naming patterns, semantics, and tagger accuracy.
Year
DOI
Venue
2020
10.1016/j.jss.2020.110740
Journal of Systems and Software
Keywords
DocType
Volume
Program comprehension,Identifier naming,Software maintenance,Source code analysis,Part-of-speech tagging
Journal
170
ISSN
Citations 
PageRank 
0164-1212
6
0.39
References 
Authors
46
7
Name
Order
Citations
PageRank
Christian D. Newman16611.50
Reem S. Alsuhaibani2203.88
Michael J. Decker3192.16
Anthony Peruma4465.98
Dishant Kaushik580.79
Mohamed Wiem Mkaouer622828.58
Emily Hill783434.58