计算机工程

北大核心,CA,INSPEC,JST,Pж(AJ)

国内刊号:31-1289/TP

国际刊号:1000-3428

计算机工程杂志2025年第2期:基于卷积神经网络和长短期记忆的死代码检测方法

发布日期:

作者:孙义康, 高建华

单位:上海师范大学计算机科学与技术系, 上海 200234

关键词:死代码,深度学习,文本信息,代码度量,特征提取

基金:国家自然科学基金(61672355)

死代码是一种不良代码异味, 会导致软件质量逐渐衰退。传统的死代码检测方法主要依赖于静态分析技术、代码结构的度量以及启发式规则, 这些方法在开发者之间存在高度差异, 且对源代码文本信息关注较少, 忽略代码在实际执行过程中的情况, 存在较大的局限性。针对以上问题, 设计一种新型死代码检测方法, 并采用基于卷积神经网络和长短期记忆相结合的技术, 其主要思路是将代码文本信息和代码度量信息相结合, 提高死代码检测的准确性。首先使用DUM-Tool等工具并结合人工以确定应用程序中的死代码实例进行死代码标记, 以深度优先遍历抽象语法树获取源代码的文本信息, 将标签值与文本信息相匹配, 再使用CK代码度量提取工具获取源代码的代码度量信息。然后通过Word2Vec将文本信息转化为词向量, 使用卷积神经网络提取代码度量信息的特征, 将两者拼接得到死代码检测的数据集。最后使用长短期记忆网络对数据集进行训练, 再通过Sigmoid函数进行分类。实验结果表明, 将代码文本信息和度量信息相结合可以有效实现死代码的检测, 与传统的检测方法相比, 平均F1值最高提升12.58百分点。

来源:2025年第2期

《计算机工程》期刊编辑部

查看计算机工程杂志2025年第2期

联系我们

  • 地址:上海市嘉定区澄浏公路63号
  • 电话:(021) 67092217
  • E-mail:ecice06@ecict.com.cn

咨询工作人员