Ever since its first release in 2009, the Go programming language (Golang) has been well received by software communities. A major reason for its success is the powerful support of library-based development, where a Golang project can be conveniently built on top of other projects by referencing them as libraries. As Golang evolves, it recommends the use of a new library-referencing mode to overcome the limitations of the original one. While these two library modes are incompatible, both are supported by the Golang ecosystem. The heterogeneous use of library-referencing modes across Golang projects has caused numerous dependency management (DM) issues, incurring reference inconsistencies and even build failures. Motivated by the problem, we conducted an empirical study to characterize the DM issues, understand their root causes, and examine their fixing solutions. Based on our findings, we developed \textsc{Hero}, an automated technique to detect DM issues and suggest proper fixing solutions. We applied \textsc{Hero} to 19,000 popular Golang projects. The results showed that \textsc{Hero} achieved a high detection rate of 98.5\% on a DM issue benchmark and found 2,422 new DM issues in 2,356 popular Golang projects. We reported 280 issues, among which 181 (64.6\%) issues have been confirmed, and 160 of them (88.4\%) have been fixed or are under fixing. Almost all the fixes have adopted our fixing suggestions.


翻译:自2009年首次发行以来,Go编程语言(Golang)一直受到软件界的欢迎,其成功的一个主要原因是,以图书馆为基础的发展得到了强有力的支持,在这种发展中,戈兰项目可以通过将图书馆作为参考来方便地建立在其他项目之上。随着戈兰的演变,它建议使用新的图书馆参考模式来克服原有图书馆的局限性。虽然这两种图书馆模式都互不兼容,但都得到戈兰生态系统的支持。在戈兰项目中使用图书馆参考模式的情况各不相同,造成了许多依赖性管理(DM)问题,导致参考不一致,甚至造成失败。受这一问题的驱使,我们开展了一项经验性研究,以描述管理型项目的问题,了解其根源,并研究其确定解决方案。根据我们的调查结果,我们开发了用于发现管理型图书馆问题的自动化技术,提出适当的固定解决方案。我们对19,000个受欢迎的戈兰项目应用了textsc{Hero}。结果显示,在管理型项目中,98.5{Hero}实现了高的检测率,在管理型问题中,了解其根本原因,并研究其确定解决方案。我们报告有2,4___185}新的问题。

0
下载
关闭预览

相关内容

专知会员服务
18+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
154+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
67+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
40+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
语义分割+视频分割开源代码集合
极市平台
35+阅读 · 2018年3月5日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
人工智能 | 国际会议截稿信息5条
Call4Papers
6+阅读 · 2017年11月22日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年4月14日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
12+阅读 · 2019年3月14日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
8+阅读 · 2018年5月15日
VIP会员
相关VIP内容
专知会员服务
18+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
154+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
67+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
40+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
相关资讯
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
语义分割+视频分割开源代码集合
极市平台
35+阅读 · 2018年3月5日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
人工智能 | 国际会议截稿信息5条
Call4Papers
6+阅读 · 2017年11月22日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】用Tensorflow理解LSTM
机器学习研究会
36+阅读 · 2017年9月11日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
相关论文
Arxiv
0+阅读 · 2021年4月14日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
12+阅读 · 2019年3月14日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
8+阅读 · 2018年5月15日
Top
微信扫码咨询专知VIP会员