解析深度学习框架中的代码克隆动态
《ACM Transactions on Software Engineering and Methodology》:Unraveling Code Clone Dynamics in Deep Learning Frameworks
【字体:
大
中
小
】
时间:2025年11月07日
来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
深度学习框架的代码克隆演化及跨框架影响研究,基于TensorFlow、Paddle等九个框架的实证分析,揭示长期演化呈现"蛇形"、"起伏"、"递减"和"稳定"四种趋势,发现短期能力复用对长期趋势有显著影响,并识别出功能适配和架构通用两种跨框架克隆模式,为框架维护提供新视角。
摘要
深度学习(DL)框架在推动人工智能发展方面发挥着关键作用,其快速的发展凸显了对软件质量和可维护性进行全面理解的必要性。与其他系统一样,DL框架也容易出现代码克隆现象。代码克隆指的是在同一项目内部或不同项目之间存在完全相同或高度相似的源代码片段。代码克隆对软件开发既有积极影响,也可能带来负面影响,包括影响代码的可维护性、可读性以及错误传播。虽然现有的研究主要集中在基于DL的应用程序中的代码克隆现象上,但据我们所知,目前尚未有研究探讨代码克隆、它们的演变过程以及对DL框架维护的影响。在本文中,我们旨在填补关于DL框架中代码克隆演变特征以及这些框架中代码重用程度的知识空白。我们通过对九个流行的DL框架(即TensorFlow、Paddle、PyTorch、Aesara、Ray、MXNet、Keras、Jax和BentoML)中的代码克隆进行实证分析,来研究:(1)每个框架中代码克隆随版本更新的长期演变特征;(2)版本更新期间的短期代码克隆模式及其对长期趋势的影响;(3>DL框架内部的文件级代码克隆情况。研究结果表明,DL框架存在四种不同的克隆趋势:“蛇形”、“起伏”、“减少”和“稳定”,这些趋势具有一些共同点和独特特征。例如,无论克隆的演变趋势如何,修复错误的活动始终会在代码克隆中发生,但在“蛇形”趋势中更为频繁。此外,对版本更新期间代码克隆情况的分析表明,短期代码克隆行为会影响到长期克隆趋势。跨框架的代码克隆研究还发现,在这九个框架中存在功能性和架构适应性的文件级代码克隆现象。我们的研究结果为推动DL框架的稳健克隆实践和协作维护提供了有益的见解。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号