Reusing code snippets shared by other programmers on Q&A forums (e.g., StackOverflow) is a common practice followed by software developers. However, lack of sufficient information about the fully qualified name (FQN) of identifiers in borrowed code snippets, results in serious compile errors. Programmers either have to manually search for the correct FQN of identifiers which is a tedious and error-prone process, or use tools developed to automatically identify correct FQNs. Despite the efforts made by researchers to automatically identify FQNs in code snippets, the current approaches suffer from low accuracy when it comes to practice. Moreover, while these tools focus on resolving the FQN for an identifier in a code snippet, they leave the challenge of finding the correct third-party library (i.e., dependency) implementing that FQN unresolved. Using an incorrect dependency or incorrect version of a dependency might lead to a semantic error which is not detectable by compilers. Therefore, it can result in serious damages in the run-time. In this paper, we introduce DepRes, a tool that leverages a sketch-based approach to resolve FQNs in java-based code snippets and recommend the correct dependency for each FQN. The source code, documentation, as well as a demo video of DepRes tool is available from its code repository at https://github.com/SoftwareDesignLab/DepRes-Tool.


翻译:重新使用其他程序员在 {A 论坛上共享的代码片断( 如 StackOverflow) 共享的代码片断的代码片断中共享的代码片断。 然而,软件开发者通常遵循的是软件开发者所遵循的一种常见做法。 但是,对于借出代码片断的标识器中完全合格的名称( FQN) 缺乏足够的信息, 导致严重的编译错误。 程序设计者要么必须手动搜索正确的 FQN 标识器的正确的 FQN, 这是一种烦琐和易出错的过程, 要么使用开发的工具自动识别正确的 FQN 。 尽管研究人员努力在代码片断中自动识别 FQN, 但当前的方法在实践时却缺乏准确性。 此外,这些工具侧重于在代码片断中解决 FQN 的标识器标识器, 但他们在寻找正确的第三方库( 即依赖性) 执行 FQN 时会留下挑战。 使用不正确的依赖性或不正确的依赖性版本, 可能导致一个无法被编译者探测到的语义错误。 因此, 在运行时会造成严重的损坏。 在本文中, 我们引入 DResp- ND 的版本中, 一个工具中, 将使用一个用于搜索 Q 。

0
下载
关闭预览

相关内容

神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
74+阅读 · 2020年8月2日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
104+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
已删除
将门创投
11+阅读 · 2019年8月13日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Compression of Deep Learning Models for Text: A Survey
Arxiv
24+阅读 · 2020年3月11日
Rapid Customization for Event Extraction
Arxiv
7+阅读 · 2018年9月20日
VIP会员
相关资讯
已删除
将门创投
11+阅读 · 2019年8月13日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员