克隆(Java方法)
计算机科学
一致性(知识库)
杠杆(统计)
软件维护
构造(python库)
软件工程
软件
软件开发
机器学习
源代码
学习迁移
软件错误
数据挖掘
人工智能
程序设计语言
DNA
遗传学
生物
作者
Wenchao Jiang,Shaojian Qiu,Tiancai Liang,Fanlong Zhang
标识
DOI:10.1016/j.ins.2023.03.118
摘要
Code clones are comparable code snippets that are introduced into software by developers in order to increase software development productivity. A change to code clone may result in a consistent-defect if the developers forget to verify the consistency of the code after the change. To reduce such change-related maintenance costs, researchers have proposed a number of methods for predicting clone consistency in advance. Unfortunately, the effectiveness of these cross-project models is unsatisfactory, and performing such predictions with insufficient data remains a challenge. Meanwhile, cross-project defect prediction via transfer learning method is prevalent in the software engineering community. Consequently, we first construct an empirical study to explore whether transfer-learning techniques could well be utilized for clone cross-project consistent-defect prediction in the initial stages of software development. In this paper, we employ transfer-learning techniques to predict clone consistency at both the time of clone creating and clone changing in order to avoid clone consistent-defects and maintenance. We conduct an experiment on open-source projects to evaluate the effectiveness of various transfer-learning methods. Our investigation demonstrates that transfer-learning techniques have a beneficial impact on predicting cross-project clone consistent-defect, and that the size of the dataset also has a positive effect on prediction. In order to promote software safety and security, we recommend that developers leverage transfer-learning to enhance the capability for clone cross-project consistent-defect prediction early in the software development phase.
科研通智能强力驱动
Strongly Powered by AbleSci AI