论文标题

机器学习系统中的代码气味

Code Smells in Machine Learning Systems

论文作者

Gesi, Jiri, Liu, Siqi, Li, Jiawei, Ahmed, Iftekhar, Nagappan, Nachiappan, Lo, David, de Almeida, Eduardo Santana, Kochhar, Pavneet Singh, Bao, Lingfeng

论文摘要

随着深度学习(DL)系统的不断发展和发展,确保其质量成为一项重要而挑战的任务。与非DL系统相比,DL系统具有更复杂的团队组成和更重的数据依赖性。这些固有的特征可能会导致DL系统更容易受到错误的影响,从长远来看,DL系统更容易受到维护问题。代码气味经过经验测试是非DL系统的有效指标。因此,在这项全面的研究中,我们向前迈出了识别代码气味的一步,并了解了它们对维护的影响。这是在DL软件系统中首次研究代码气味的研究,该研究可帮助研究人员和从业人员首先查看进行了哪种维护修改以及开发人员一直在处理的代码气味。我们的论文有三个主要贡献。首先,我们全面研究了DL开发人员通过研究DL系统的演变进行的维护修改,并确定了DL系统中九个经常发生的与维护相关的修改类别。其次,我们总结了DL系统中的五种代码气味。第三,我们通过定性和定量分析的混合物验证了我们新确定的代码气味的流行率和影响。我们发现,从开发人员的角度来看,我们新确定的代码气味普遍于维护DL系统。

As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These inherent characteristics would potentially cause DL systems to be more vulnerable to bugs and, in the long run, to maintenance issues. Code smells are empirically tested as efficient indicators of non-DL systems. Therefore, we took a step forward into identifying code smells, and understanding their impact on maintenance in this comprehensive study. This is the first study on investigating code smells in the context of DL software systems, which helps researchers and practitioners to get a first look at what kind of maintenance modification made and what code smells developers have been dealing with. Our paper has three major contributions. First, we comprehensively investigated the maintenance modifications that have been made by DL developers via studying the evolution of DL systems, and we identified nine frequently occurred maintenance-related modification categories in DL systems. Second, we summarized five code smells in DL systems. Third, we validated the prevalence, and the impact of our newly identified code smells through a mixture of qualitative and quantitative analysis. We found that our newly identified code smells are prevalent and impactful on the maintenance of DL systems from the developer's perspective.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源