A Cross-Language Name Binding Recognition and Discrimination Approach for Identifiers.

SANER(2023)

引用 0|浏览3
暂无评分
摘要
Software developers usually rename identifiers and propagate the renaming based on the name binding of identifiers. Currently, software applications are usually developed using more than one language to enhance their functions and behaviors. Hence, when an identifier renaming is performed, it frequently affects more than one language in the multiple-language software applications. However, existing name binding approaches for identifiers only focus on a specific single language without considering the cross-language scenario. In this paper, we propose a cross-language name binding approach for the Java framework based on the deep learning model. Specifically, we first detect the potential name binding pairs via string matching. By analyzing the name binding pairs, the context, and the framework rules of identifiers, we extract several deep semantic features of identifiers and employ the BERT pre-trained model to recognize the name binding for unique identifiers, and further combine several classifiers to discriminate the name binding for duplicate identifiers. Our approach is evaluated on a manually constructed experimental dataset from 10 multiple-language projects. Experimental results demonstrate that our approach can achieve the average F-Measure of 85.14% in unique identifiers and 86.57% in duplicate identifiers, which significantly outperforms the baseline approaches. We also compare the performance of our approach against IntelliJ IDEA to further show its usefulness for developers in the real scenario.
更多
查看译文
关键词
Cross Language,Name Binding,Deep Learning
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要