Fri 27 Aug 2021 00:00 - 00:10 - Analytics & Software Evolution—Recommender Systems Chair(s): Juri Di Rocco
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 AugDisplayed 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 10mPaper | Which Abbreviations Should Be Expanded? 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 5mPaper | 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 5mPaper | 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 5mPaper | StackEmo: Towards Enhancing User Experience by Augmenting Stack Overflow with Emojis Demonstrations DOI Media Attached | ||
12:25 5mPaper | Domain Adaptation for an Automated Classification of Deontic Modalities in Software Engineering Contracts Industry Papers DOI | ||
12:30 30mLive Q&A | Q&A (Analytics & Software Evolution—Recommender Systems) Research Papers |
Fri 27 AugDisplayed 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 10mPaper | Which Abbreviations Should Be Expanded? 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 5mPaper | 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 5mPaper | 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 5mPaper | StackEmo: Towards Enhancing User Experience by Augmenting Stack Overflow with Emojis Demonstrations DOI Media Attached | ||
00:25 5mPaper | Domain Adaptation for an Automated Classification of Deontic Modalities in Software Engineering Contracts Industry Papers DOI | ||
00:30 30mLive Q&A | Q&A (Analytics & Software Evolution—Recommender Systems) Research Papers |