当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Search for Compatible Source Code
International Journal of Software Engineering and Knowledge Engineering ( IF 0.6 ) Pub Date : 2021-03-31 , DOI: 10.1142/s0218194021500169
Fuqi Cai 1 , Changjing Wang 1 , Qing Huang 1 , Zhengkang Zuo 1 , Yunyan Liao 1
Affiliation  

Third-party libraries always evolve and produce multiple versions. Lucene, for example, released ten new versions (from version 7.7.0 to 8.4.0) in 2019. These versions confuse the existing code search methods to retrieve the source code that is not compatible with local programming language. To solve this issue, we propose DCSE, a deep code search model based on evolving information (i.e. evolved code tokens and evolution description). DCSE first deeply excavates evolved code tokens and evolution description in the code evolution process; then it takes evolved code tokens and evolution description as one feature of source code and code description, respectively. With such fuller representation, DCSE embeds source code and its code description into a high-dimensional shared vector space, and makes the cosine distance of their vectors closer. For the ever-evolving third-party libraries like Lucene, the experimental results show that DCSE could retrieve the source code that is compatible with local programming language, it outperforms the state-of-the-art methods (e.g. CODEnn) by 56.9–60.9% in RFVersion. For the rarely-evolving third-party libraries, DCSE outperforms the state-of-the-art methods (e.g. CODEnn) by 4–11% in Precision.

中文翻译:

搜索兼容的源代码

第三方库总是不断发展并产生多个版本。例如,Lucene 在 2019 年发布了 10 个新版本(从 7.7.0 版本到 8.4.0 版本)。这些版本混淆了现有的代码搜索方法,以检索与本地编程语言不兼容的源代码。为了解决这个问题,我们提出了 DCSE,一种基于演化信息(即演化代码令牌和演化描述)的深度代码搜索模型。DCSE首先深入挖掘代码演化过程中的演化代码令牌和演化描述;然后将进化代码令牌和进化描述分别作为源代码和代码描述的一个特征。通过这种更完整的表示,DCSE将源代码及其代码描述嵌入到一个高维共享向量空间中,并使它们的向量的余弦距离更近。%在 RF 版本中。对于很少发展的第三方库,DCSE 比最先进的方法(例如 CODEnn)高出 4-11%在精度。
更新日期:2021-03-31
down
wechat
bug