Deep Learning applications are becoming increasingly popular. Developers of deep learning systems strive to write more efficient code. Deep learning systems are constantly evolving, imposing tighter development timelines and increasing complexity, which may lead to bad design decisions. A copy-paste approach is widely used among deep learning developers because they rely on common frameworks and duplicate similar tasks. Developers often fail to properly propagate changes to all clones fragments during a maintenance activity. To our knowledge, no study has examined code cloning practices in deep learning development. Given the negative impacts of clones on software quality reported in the studies on traditional systems, it is very important to understand the characteristics and potential impacts of code clones on deep learning systems. To this end, we use the NiCad tool to detect clones from 59 Python, 14 C# and 6 Java-based deep learning systems and an equal number of traditional software systems. We then analyze the frequency and distribution of code clones in deep learning and traditional systems. We do further analysis of the distribution of code clones using location-based taxonomy. We also study the correlation between bugs and code clones to assess the impacts of clones on the quality of the studied systems. Finally, we introduce a code clone taxonomy related to deep learning programs and identify the deep learning system development phases in which cloning has the highest risk of faults. Our results show that code cloning is a frequent practice in deep learning systems and that deep learning developers often clone code from files in distant repositories in the system. In addition, we found that code cloning occurs more frequently during DL model construction. And that hyperparameters setting is the phase during which cloning is the riskiest, since it often leads to faults.


翻译:深层学习应用越来越受欢迎。 深层学习系统的开发者努力写更有效率的代码。 深层学习系统的开发者不断演变,要求更紧的发展时限和越来越复杂,这可能导致设计决定不善。 深层学习开发者广泛使用复制版纸版方法,因为他们依赖共同的框架和重复类似的任务。 开发者往往无法在维护活动期间适当传播所有克隆碎片的变化。 根据我们的知识, 没有研究深层学习发展中的代码克隆做法。 鉴于对传统系统的研究中报告的克隆人对软件质量的负面影响, 深层克隆系统的特性和潜在影响非常重要, 要了解代码克隆对深层学习系统的影响和潜在影响。 为此,我们使用NiCad 工具检测59 Python、14 C# 和 6 Java 深层学习系统和同等数量的传统软件系统。 然后我们分析在深层学习和传统系统中的代码的频率和分布。 我们进一步分析使用基于位置的克隆的代码的分布模式。 我们还研究错误和代码之间的关联性关系, 来评估克隆系统在深层克隆系统中学习最高级的代码。 最后,我们学习了一个与我们学习的代码的系统。

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
165+阅读 · 2020年3月18日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
157+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
180+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
A Survey on Bayesian Deep Learning
Arxiv
63+阅读 · 2020年7月2日
Few-shot Learning: A Survey
Arxiv
363+阅读 · 2019年4月10日
Arxiv
6+阅读 · 2018年12月10日
Arxiv
4+阅读 · 2018年10月5日
Arxiv
22+阅读 · 2018年8月30日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
11+阅读 · 2018年7月31日
Arxiv
5+阅读 · 2018年1月14日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
相关论文
A Survey on Bayesian Deep Learning
Arxiv
63+阅读 · 2020年7月2日
Few-shot Learning: A Survey
Arxiv
363+阅读 · 2019年4月10日
Arxiv
6+阅读 · 2018年12月10日
Arxiv
4+阅读 · 2018年10月5日
Arxiv
22+阅读 · 2018年8月30日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
11+阅读 · 2018年7月31日
Arxiv
5+阅读 · 2018年1月14日
Top
微信扫码咨询专知VIP会员