{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T05:06:09Z","timestamp":1750309569451,"version":"3.41.0"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"8","license":[{"start":{"date-parts":[[2024,11,22]],"date-time":"2024-11-22T00:00:00Z","timestamp":1732233600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["62232003 and 62172037"],"award-info":[{"award-number":["62232003 and 62172037"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100002858","name":"China Postdoctoral Science Foundation","doi-asserted-by":"crossref","award":["2023M740078 and BX20240008"],"award-info":[{"award-number":["2023M740078 and BX20240008"]}],"id":[{"id":"10.13039\/501100002858","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Hong Kong SAR","award":["RGC\/GRF #16205821"],"award-info":[{"award-number":["RGC\/GRF #16205821"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2024,11,30]]},"abstract":"<jats:p>\n            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 article presents the first automated technique (called\n            <jats:monospace>NameCompressor<\/jats:monospace>\n            ) 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,\n            <jats:monospace>NameCompressor<\/jats:monospace>\n            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\n            <jats:monospace>NameCompressor<\/jats:monospace>\n            on a dataset of 700 overlong method names. It correctly generates 613 short names identical to those specified by the developers of these methods.\n          <\/jats:p>","DOI":"10.1145\/3676959","type":"journal-article","created":{"date-parts":[[2024,7,8]],"date-time":"2024-07-08T14:11:20Z","timestamp":1720447880000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Shortening Overlong Method Names with Abbreviations"],"prefix":"10.1145","volume":"33","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6404-9143","authenticated-orcid":false,"given":"Yanjie","family":"Jiang","sequence":"first","affiliation":[{"name":"Peking University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3267-6801","authenticated-orcid":false,"given":"Hui","family":"Liu","sequence":"additional","affiliation":[{"name":"Beijing Institute of Technology, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3508-7172","authenticated-orcid":false,"given":"Shing Chi","family":"Cheung","sequence":"additional","affiliation":[{"name":"The Hong Kong University of Science and Technology, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8304-7055","authenticated-orcid":false,"given":"Lu","family":"Zhang","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,11,22]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"BernoulliNB. 2023. Retrieved from https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.naive_bayes.BernoulliNB.html"},{"key":"e_1_3_1_3_2","unstructured":"Oxford Learners Dictionaries. 2023. Retrieved from https:\/\/www.oxfordlearnersdictionaries.com\/"},{"key":"e_1_3_1_4_2","unstructured":"Wikipedia. 2023. Proper Nouns. Retrieved from https:\/\/en.wikipedia.org\/wiki\/Proper_noun"},{"key":"e_1_3_1_5_2","unstructured":"GitHub. 2023. Replication Package for NameCompressor. Retrieved from https:\/\/github.com\/jiangyanjie\/NameCompressorTool"},{"key":"e_1_3_1_6_2","unstructured":"GitHub. 2024. Flink. Retrieved from https:\/\/github.com\/apache\/flink"},{"key":"e_1_3_1_7_2","unstructured":"GitHub. 2024. SpringBoot. Retrieved from https:\/\/github.com\/spring-projects\/spring-boot"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1093\/bioinformatics\/btg439"},{"key":"e_1_3_1_9_2","first-page":"55","volume-title":"Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC)","author":"Avidan Eran","year":"2017","unstructured":"Eran Avidan and Dror G. Feitelson. 2017. Effects of Variable Names on Comprehension: An Empirical Study. In Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC). IEEE, 55\u201365."},{"key":"e_1_3_1_10_2","first-page":"45","volume-title":"Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC)","author":"Beniamini Gal","year":"2017","unstructured":"Gal Beniamini, Sarah Gingichashvili, Alon Klein Orbach, and Dror G. Feitelson. 2017. Meaningful Identifier Names: The Case of Single-Letter Variables. In Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC). IEEE, 45\u201354."},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2009.02.006"},{"key":"e_1_3_1_12_2","first-page":"97","volume-title":"Proceedings of the 2000 International Conference on Software Maintenance","author":"Caprile Bruno","year":"2000","unstructured":"Bruno Caprile and Paolo Tonella. 2000. Restructuring Program Identifier Names. In Proceedings of the 2000 International Conference on Software Maintenance. 97\u2013107."},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2014.10.013"},{"key":"e_1_3_1_14_2","first-page":"233","volume-title":"Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM)","author":"Corazza Anna","year":"2012","unstructured":"Anna Corazza, Sergio Di Martino, and Valerio Maggio. 2012. LINSEN: An Efficient Approach to Split Identifiers and Expand Abbreviations. In Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM). IEEE, 233\u2013242."},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-006-9219-1"},{"key":"e_1_3_1_16_2","volume-title":"Proceedings of the IASTED International Conference on Software Engineering and Applications (SEA\u201906)","author":"Feild Henry","year":"2006","unstructured":"Henry Feild, David Binkley, and Dawn Lawrie. 2006. An Empirical Comparison of Techniques for Extracting Concept Abbreviations from Identifiers. In Proceedings of the IASTED International Conference on Software Engineering and Applications (SEA\u201906)."},{"issue":"1","key":"e_1_3_1_17_2","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1109\/TSE.2020.2976920","article-title":"How Developers Choose Names","volume":"48","author":"Feitelson Dror G.","year":"2020","unstructured":"Dror G. Feitelson, Ayelet Mizrahi, Nofar Noy, Aviad Ben Shabat, Or Eliyahu, and Roy Sheffer. 2020. How Developers Choose Names. IEEE Transactions on Software Engineering 48, 1 (2020), 37\u201352.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1037\/h0031619"},{"key":"e_1_3_1_19_2","first-page":"196","volume-title":"Proceedings of the 2021 IEEE\/ACM 29th International Conference on Program Comprehension (ICPC)","author":"Ge Fan","year":"2021","unstructured":"Fan Ge and Li Kuang. 2021. Keywords Guided Method Name Generation. In Proceedings of the 2021 IEEE\/ACM 29th International Conference on Program Comprehension (ICPC). IEEE, 196\u2013206."},{"key":"e_1_3_1_20_2","first-page":"79","volume-title":"Proceedings of the 2008 International Working Conference on Mining Software Repositories","author":"Hill Emily","year":"2008","unstructured":"Emily Hill, Zachary P. Fry, Haley Boyd, Giriprasad Sridhara, Yana Novikova, Lori Pollock, and K. Vijay-Shanker. 2008. AMAP: Automatically Mining Abbreviation Expansions in Programs to Enhance Software Maintenance Tools. In Proceedings of the 2008 International Working Conference on Mining Software Repositories. 79\u201388."},{"key":"e_1_3_1_21_2","first-page":"217","volume-title":"Proceedings of the 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)","author":"Hofmeister Johannes","year":"2017","unstructured":"Johannes Hofmeister, Janet Siegmund, and Daniel V. Holt. 2017. Shorter Identifier Names Take Longer to Comprehend. In Proceedings of the 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 217\u2013227."},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2020.2995736"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338929"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468616"},{"issue":"7","key":"e_1_3_1_25_2","doi-asserted-by":"crossref","first-page":"732","DOI":"10.1109\/TSE.2018.2868762","article-title":"Automatic and Accurate Expansion of Abbreviations in Parameters","volume":"46","author":"Jiang Yanjie","year":"2018","unstructured":"Yanjie Jiang, Hui Liu, Jiaqi Zhu, and Lu Zhang. 2018. Automatic and Accurate Expansion of Abbreviations in Parameters. IEEE Transactions on Software Engineering 46, 7 (2018), 732\u2013747.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2011.6080778"},{"key":"e_1_3_1_27_2","first-page":"213","volume-title":"Proceedings of the 7th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007)","author":"Lawrie Dawn","year":"2007","unstructured":"Dawn Lawrie, Henry Feild, and David Binkley. 2007a. Extracting Meaning from Aabbreviated Identifiers. In Proceedings of the 7th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007). IEEE, 213\u2013222."},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2006.51"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11334-007-0031-2"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11432-019-2830-8"},{"key":"e_1_3_1_31_2","first-page":"574","volume-title":"Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE)","author":"Li Yi","year":"2021","unstructured":"Yi Li, Shaohua Wang, and Tien Nguyen. 2021. A Context-Based Automated Approach for Method Name Consistency Checking and Suggestion. In Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 574\u2013586."},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2010.31"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-022-10274-8"},{"key":"e_1_3_1_34_2","doi-asserted-by":"crossref","first-page":"269","DOI":"10.1109\/ICSME.2019.00040","volume-title":"Proceedings of the 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)","author":"Newman Christian D.","year":"2019","unstructured":"Christian D. Newman, Michael J. Decker, Reem S. Alsuhaibani, Anthony Peruma, Dishant Kaushik, and Emily Hill. 2019. An Empirical Study of Abbreviations and Expansions in Software Artifacts. In Proceedings of the 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 269\u2013279."},{"key":"e_1_3_1_35_2","first-page":"1101","volume-title":"2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)","author":"Qu Zhiheng","year":"2022","unstructured":"Zhiheng Qu, Yi Hu, Jianhui Zeng, Bo Cai, and Shun Yang. 2022. Method Name Generation Based on Code Structure Guidance. In 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 1101\u20131110."},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/WPC.2002.1021348"},{"key":"e_1_3_1_37_2","doi-asserted-by":"crossref","first-page":"190","DOI":"10.1109\/ICSM.2013.30","volume-title":"Proceedings of the 2013 IEEE International Conference on Software Maintenance","author":"Scanniello Giuseppe","year":"2013","unstructured":"Giuseppe Scanniello and Michele Risi. 2013. Dealing with Faults in Source Code: Abbreviated vs. Full-Word Identifier Names. In Proceedings of the 2013 IEEE International Conference on Software Maintenance. IEEE, 190\u2013199."},{"key":"e_1_3_1_38_2","first-page":"31","volume-title":"Proceedings of the 2018 IEEE\/ACM 26th International Conference on Program Comprehension (ICPC)","author":"Schankin Andrea","year":"2018","unstructured":"Andrea Schankin, Annika Berger, Daniel V. Holt, Johannes C. Hofmeister, Till Riedel, and Michael Beigl. 2018. Descriptive Compound Identifier Names Improve Source Code Comprehension. In Proceedings of the 2018 IEEE\/ACM 26th International Conference on Program Comprehension (ICPC). IEEE, 31\u20133109."},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/2652524.2652593"},{"key":"e_1_3_1_40_2","first-page":"5998","volume-title":"Proceedings of the 31st International Conference on Neural Information Processing Systems (NIPS \u201917)","author":"Vaswani Ashish","year":"2017","unstructured":"Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention Is All you Need. In Proceedings of the 31st International Conference on Neural Information Processing Systems (NIPS \u201917). 5998\u20136008."},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.18653\/v1\/2020.emnlp-demos.6"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2022.3227559"},{"issue":"6","key":"e_1_3_1_43_2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3603109","article-title":"An Accurate Identifier Renaming Prediction and Suggestion Approach","volume":"32","author":"Zhang Jingxuan","year":"2023","unstructured":"Jingxuan Zhang, Junpeng Luo, Jiahui Liang, Lina Gong, and Zhiqiu Huang. 2023. An Accurate Identifier Renaming Prediction and Suggestion Approach. ACM Transactions on Software Engineering and Methodology 32, 6 (2023), 1\u201351.","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.24963\/ijcai.2017\/590"},{"key":"e_1_3_1_45_2","volume-title":"Proceedings of the International Conference on Learning Representations (ICLR)","author":"Zugner Daniel","year":"2021","unstructured":"Daniel Zugner, Tobias Kirschstein, Michele Catasta, Jure Leskovec, and Stephan Gunnemann. 2021. Language-Agnostic Representation Learning of Source Code from Structure and Context. In Proceedings of the International Conference on Learning Representations (ICLR)."}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3676959","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3676959","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:19:12Z","timestamp":1750295952000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3676959"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,11,22]]},"references-count":44,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2024,11,30]]}},"alternative-id":["10.1145\/3676959"],"URL":"https:\/\/doi.org\/10.1145\/3676959","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2024,11,22]]},"assertion":[{"value":"2023-12-28","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-06-18","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-11-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}