Write a Blog >>
ESEC/FSE 2021
Thu 19 - Sat 28 August 2021 Clowdr Platform

Abbreviations are common in source code. Properly designed abbreviations may significantly facilitate typing, typesetting, and reading of lengthy source code. However, abbreviations, if used improperly, may also significantly reduce the readability and maintainability of source code. Although a few automated approaches have been proposed to suggest full terms for given abbreviations, to the best of our knowledge, there is no automated approaches to suggest whether abbreviations are used properly, i.e., whether they should be replaced with corresponding full terms. Notably, it is often challenging for inexperienced developers and maintainers to make such decisions. To this end, in this paper, we propose an automated approach to assisting developers and maintainers in making the decisions. The rationale of the approach is that abbreviations should not be expanded if the expansion would result in unacceptably lengthy identifiers or if developers/maintainers can easily figure out the meaning (full terms) of the abbreviations based on their domain knowledge or contexts of the abbreviations. From a corpus of programs, we leverage data mining techniques to discover common abbreviations that are frequently employed by various developers in similar contexts. The key of the data mining is to turn the problem of mining common abbreviations into the \emph{maximal clique problem} that has been extensively studied. We suggest to not expand given abbreviation if it matches at least one of the discovered common abbreviations. From the same corpus, we also calculate the probability distribution for the length of different types of identifier, e.g., variable names and method names. The probability distribution specifies how likely an identifier of type T is composed of exactly $n$ characters. Our heuristic is to not expand the abbreviation if the probability of its enclosing identifier would be reduced by the expansion. Finally, we also suggest to not expand the abbreviation if its full terms are contained in surrounding contexts of the abbreviation, i.e., tokens on the same source code line. Other abbreviations that do not receive suggestions from the proposed approach are expected to be replaced with their full terms. Our evaluation results on 1,818 abbreviations from five open-source applications suggest that the proposed approach is accurate with a high accuracy of 95%.

Thu 26 Aug

Displayed time zone: Athens change

12:00 - 13:00
Analytics & Software Evolution—Recommender SystemsDemonstrations / Industry Papers / Research Papers +12h
Chair(s): Phuong T. Nguyen University of L’Aquila, Gabriele Bavota Università della Svizzera italiana (USI)
12:00
10m
Paper
Which Abbreviations Should Be Expanded?Artifacts Available
Research Papers
Yanjie Jiang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Yuxia Zhang Beijing Institute of Technology, Nan Niu University of Cincinnati, Yuhai Zhao Northeastern University, Lu Zhang Peking University
DOI
12:10
5m
Paper
BRAID: An API Recommender Supporting Implicit User Feedback
Demonstrations
Yu Zhou Nanjing University of Aeronautics and Astronautics, Haonan Jin Nanjing University of Aeronautics and Astronautics, Xinying Yang Nanjing University of Aeronautics and Astronautics, Taolue Chen University of London, Krishna Narasimhan TU Darmstadt, Harald Gall University of Zurich
DOI
12:15
5m
Paper
Code2Que: A Tool for Improving Question Titles from Mined Code Snippets in Stack Overflow
Demonstrations
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, David Lo Singapore Management University, John Grundy Monash University, Yuan-Fang Li Monash University
DOI
12:20
5m
Paper
StackEmo: Towards Enhancing User Experience by Augmenting Stack Overflow with Emojis
Demonstrations
DOI Media Attached
12:25
5m
Paper
Domain Adaptation for an Automated Classification of Deontic Modalities in Software Engineering Contracts
Industry Papers
Vivek Joshi TCS Research, Preethu Rose Anish TCS Research, Smita Ghaisas TCS Research
DOI
12:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Recommender Systems)
Research Papers

Fri 27 Aug

Displayed time zone: Athens change

00:00 - 01:00
Analytics & Software Evolution—Recommender SystemsDemonstrations / Research Papers / Industry Papers
Chair(s): Juri Di Rocco University of L'Aquila
00:00
10m
Paper
Which Abbreviations Should Be Expanded?Artifacts Available
Research Papers
Yanjie Jiang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Yuxia Zhang Beijing Institute of Technology, Nan Niu University of Cincinnati, Yuhai Zhao Northeastern University, Lu Zhang Peking University
DOI
00:10
5m
Paper
BRAID: An API Recommender Supporting Implicit User Feedback
Demonstrations
Yu Zhou Nanjing University of Aeronautics and Astronautics, Haonan Jin Nanjing University of Aeronautics and Astronautics, Xinying Yang Nanjing University of Aeronautics and Astronautics, Taolue Chen University of London, Krishna Narasimhan TU Darmstadt, Harald Gall University of Zurich
DOI
00:15
5m
Paper
Code2Que: A Tool for Improving Question Titles from Mined Code Snippets in Stack Overflow
Demonstrations
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, David Lo Singapore Management University, John Grundy Monash University, Yuan-Fang Li Monash University
DOI
00:20
5m
Paper
StackEmo: Towards Enhancing User Experience by Augmenting Stack Overflow with Emojis
Demonstrations
DOI Media Attached
00:25
5m
Paper
Domain Adaptation for an Automated Classification of Deontic Modalities in Software Engineering Contracts
Industry Papers
Vivek Joshi TCS Research, Preethu Rose Anish TCS Research, Smita Ghaisas TCS Research
DOI
00:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Recommender Systems)
Research Papers