国内刊号:51-1307/TP
国际刊号:1001-9081
发布日期:
作者:苏珊, 张杨, 张冬雯
单位:河北科技大学 信息科学与工程学院,石家庄 050018
关键词:代码坏味,耦合,深度学习,卷积神经网络,注意力机制
基金:国家自然科学基金资助项目(61440012);河北省基础研究计划重点基础专项(18960106D)
基于启发式和机器学习的代码坏味检测方法已被证明具有一定的局限性,且现有的检测方法大多集中在较为常见的代码坏味上。针对这些问题,提出了一种深度学习方法来检测过紧的耦合、分散的耦合和散弹式修改这三种与耦合度相关检测较为少见的代码坏味。首先,提取三种代码坏味需要的度量并对得到的数据进行处理;之后,构建卷积神经网络(CNN)与注意力(Attention)机制相结合的深度学习模型,引入的注意力机制可以对输入的度量特征进行权重的分配。从21个开源项目中提取数据集,在10个开源项目中对检测方法进行了验证,并与CNN模型进行对比。实验结果表明:过紧的耦合和分散的耦合在所提模型中取得了更好的结果,相应代码坏味的查准率分别达到了93.61%和99.76%;而散弹式修改在CNN模型中有更好的结果,相应代码坏味查准率达到了98.59%。
来源:2022年第6期
《计算机应用》期刊编辑部