DepRes: 一种解析完全限定名及其依赖项的工具
软件工程
2021-08-04 v1
摘要
重用其他程序员在问答论坛(如 StackOverflow)上分享的代码片段是软件开发人员遵循的常见做法。然而,借用的代码片段中标识符的完全限定名 (FQN) 信息不足,会导致严重的编译错误。程序员要么必须手动搜索标识符的正确 FQN,这是一个繁琐且容易出错的过程,要么使用为自动识别正确 FQN 而开发的工具。尽管研究人员努力自动识别代码片段中的 FQN,但当前方法在实际应用中准确率较低。此外,虽然这些工具专注于解析代码片段中某个标识符的 FQN,但它们未能解决找到实现该 FQN 的正确第三方库(即依赖项)这一挑战。使用不正确的依赖项或依赖项的不正确版本可能导致语义错误,而编译器无法检测到此类错误。因此,这可能在运行时造成严重损害。在本文中,我们介绍了 DepRes,这是一种利用基于草图的方法来解析基于 Java 的代码片段中的 FQN,并为每个 FQN 推荐正确依赖项的工具。DepRes 工具的源代码、文档以及演示视频可从其代码仓库获取:https://github.com/SoftwareDesignLab/DepRes-Tool。
引用
@article{arxiv.2108.01165,
title = {DepRes: A Tool for Resolving Fully Qualified Names and Their Dependencies},
author = {Ali Shokri and Mehdi Mirakhorli},
journal= {arXiv preprint arXiv:2108.01165},
year = {2021}
}