Affiliation:
1. Peking University, China
2. Beijing Institute of Technology, China
3. The Hong Kong University of Science and Technology, Hong Kong
Abstract
Methods should be named to summarize their responsibilities meaningfully. When a method has a non-trivial responsibility, it may require a naming using multiple words. However, overlong method names are susceptible to typos and reduced readability (e.g., displaying a statement partially in standard screen width or splitting it into multiple lines). Programming naming conventions commonly adopt a maximal length (in characters) for identifiers. In practice, developers may not necessarily find a meaningful name that follows such naming conventions when coding a non-trivial method. This paper presents the first automated technique (called
NameCompressor
) to shorten overlong method names. Our inspiration is that many lengthy words/phrases in an overlong method name have known and unambiguous abbreviations. The use of these abbreviations for method names is common. To shorten an overlong method name,
NameCompressor
employs three compression techniques, i.e., context-aware compression, probability-based compression, and machine learning-based compression, to find appropriate abbreviations for the words/phrases in the method name. We evaluate
NameCompressor
on a dataset of 700 overlong method names. It correctly generates 613 short names identical to those specified by the developers of these methods.
Publisher
Association for Computing Machinery (ACM)
Reference44 articles.
1. 2023. BernoulliNB. https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.BernoulliNB.html.
2. 2023. Oxford Learners Dictionaries. https://www.oxfordlearnersdictionaries.com/.
3. 2023. Proper Nouns. https://en.wikipedia.org/wiki/Proper_noun.
4. 2023. Replication Package for NameCompressor. https://github.com/jiangyanjie/NameCompressorTool.
5. 2024. Flink. https://github.com/apache/flink.