• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

基于方法调用序列的细粒度软件缺陷预测

Fine-Grained Software Defect Prediction Based on the Method-Call Sequence.

机构信息

College of Aerospace Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing, China.

Software Evaluation Center, Nanchang Hangkong University, Nanchang 330063, Jiangxi, China.

出版信息

Comput Intell Neurosci. 2022 Aug 3;2022:4311548. doi: 10.1155/2022/4311548. eCollection 2022.

DOI:10.1155/2022/4311548
PMID:35965753
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC9365544/
Abstract

Currently, software defect-prediction technology is being extensively researched in the design of metrics. However, the research objects are mainly limited to coarse-grained entities such as classes, files, and packages, and there is a wide range of defects that are difficult to predict in actual situations. To further explore the information between sequences of method calls and to learn the code semantics and syntactic structure between methods, we generated a method-call sequence that retains the code context structure information and the token sequence representing semantic information. We embedded the token sequence into the method-call sequence and encoded it into a fixed-length real-valued vector. We then built a defect-prediction model based on the transformer, which maps the code-vector representation containing the method-call sequences to a low-dimensional vector space to generate semantic features and syntactic structure features and also predicts the defect density of the method-call sequence. We conducted experiments on 10 open-source projects using the ELFF dataset. The experimental results show that the method-call sequence-level prediction effect is better than the class-level effect, and the prediction results are more stable than those of the method level. The mean absolute error (MAE) value of our approach was 8% lower than that of the other deep-learning methods.

摘要

目前,软件缺陷预测技术在度量设计中得到了广泛的研究。然而,研究对象主要局限于类、文件和包等粗粒度实体,在实际情况下存在着大量难以预测的缺陷。为了进一步探索方法调用序列之间的信息,并学习方法之间的代码语义和语法结构,我们生成了一个保留代码上下文结构信息和表示语义信息的令牌序列的方法调用序列。我们将令牌序列嵌入到方法调用序列中,并将其编码为固定长度的实值向量。然后,我们基于转换器构建了一个缺陷预测模型,该模型将包含方法调用序列的代码向量表示映射到低维向量空间,以生成语义特征和语法结构特征,并预测方法调用序列的缺陷密度。我们使用 ELFF 数据集在 10 个开源项目上进行了实验。实验结果表明,方法调用序列级别的预测效果优于类级别,并且预测结果比方法级别更稳定。我们的方法的平均绝对误差(MAE)值比其他深度学习方法低 8%。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/aa7b93e16e1a/CIN2022-4311548.alg.001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/01a606e9ce6a/CIN2022-4311548.001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/029e616b974a/CIN2022-4311548.002.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/0ffa26cb63f6/CIN2022-4311548.003.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/ff94e7362663/CIN2022-4311548.004.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/9ee91a88906c/CIN2022-4311548.005.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/62233f45b091/CIN2022-4311548.006.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/fa467396da2e/CIN2022-4311548.007.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/66e2ad94f4ed/CIN2022-4311548.008.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/1502b4ce1901/CIN2022-4311548.009.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/4ad939edf21d/CIN2022-4311548.010.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/aa7b93e16e1a/CIN2022-4311548.alg.001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/01a606e9ce6a/CIN2022-4311548.001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/029e616b974a/CIN2022-4311548.002.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/0ffa26cb63f6/CIN2022-4311548.003.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/ff94e7362663/CIN2022-4311548.004.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/9ee91a88906c/CIN2022-4311548.005.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/62233f45b091/CIN2022-4311548.006.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/fa467396da2e/CIN2022-4311548.007.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/66e2ad94f4ed/CIN2022-4311548.008.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/1502b4ce1901/CIN2022-4311548.009.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/4ad939edf21d/CIN2022-4311548.010.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0e88/9365544/aa7b93e16e1a/CIN2022-4311548.alg.001.jpg

相似文献

1
Fine-Grained Software Defect Prediction Based on the Method-Call Sequence.基于方法调用序列的细粒度软件缺陷预测
Comput Intell Neurosci. 2022 Aug 3;2022:4311548. doi: 10.1155/2022/4311548. eCollection 2022.
2
Semantic and traditional feature fusion for software defect prediction using hybrid deep learning model.使用混合深度学习模型进行软件缺陷预测的语义与传统特征融合
Sci Rep. 2024 Jul 1;14(1):14771. doi: 10.1038/s41598-024-65639-4.
3
Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM).使用卷积神经网络(CNN)和双向长短期记忆网络(Bi-LSTM)的混合模型(CBIL)进行软件缺陷预测。
PeerJ Comput Sci. 2021 Nov 16;7:e739. doi: 10.7717/peerj-cs.739. eCollection 2021.
4
A novel code representation for detecting Java code clones using high-level and abstract compiled code representations.一种使用高级和抽象的编译代码表示来检测 Java 代码克隆的新代码表示方法。
PLoS One. 2024 May 10;19(5):e0302333. doi: 10.1371/journal.pone.0302333. eCollection 2024.
5
CRaDLe: Deep code retrieval based on semantic Dependency Learning.CRaDLe:基于语义依存学习的深度代码检索
Neural Netw. 2021 Sep;141:385-394. doi: 10.1016/j.neunet.2021.04.019. Epub 2021 Apr 26.
6
Temporal Relation Extraction with Joint Semantic and Syntactic Attention.基于联合语义和句法注意力的时间关系抽取。
Comput Intell Neurosci. 2022 Apr 28;2022:5680971. doi: 10.1155/2022/5680971. eCollection 2022.
7
Predicting the number of defects in a new software version.预测新版本软件中的缺陷数量。
PLoS One. 2020 Mar 18;15(3):e0229131. doi: 10.1371/journal.pone.0229131. eCollection 2020.
8
Onto2Vec: joint vector-based representation of biological entities and their ontology-based annotations.Onto2Vec:基于向量的生物实体联合表示及其基于本体论的标注。
Bioinformatics. 2018 Jul 1;34(13):i52-i60. doi: 10.1093/bioinformatics/bty259.
9
Enriching query semantics for code search with reinforcement learning.用强化学习丰富代码搜索的查询语义。
Neural Netw. 2022 Jan;145:22-32. doi: 10.1016/j.neunet.2021.09.025. Epub 2021 Oct 11.
10
Deep Phenotyping of Chinese Electronic Health Records by Recognizing Linguistic Patterns of Phenotypic Narratives With a Sequence Motif Discovery Tool: Algorithm Development and Validation.利用序列基序发现工具识别表型叙述的语言模式对中国电子健康记录进行深度表型分析:算法开发与验证
J Med Internet Res. 2022 Jun 3;24(6):e37213. doi: 10.2196/37213.