中文

利用多任务学习提升 SATD 与漏洞检测

软件工程 2025-07-03 v1

摘要

多任务学习是一种利用相关任务信息以提升机器学习性能的范式。自承认技术债务 (SATD) 是代码中的注释,表明为满足短期需求而引入的不够理想的代码,即技术债务 (TD)。先前的研究提供了 SATD 与代码中漏洞存在关系的证据。本文探讨多任务学习是否能够利用 SATD 与漏洞之间共享的信息,以提升这些问题的自动检测。为此,我们实现了一个基于 CodeBERT 的深度学习器 VulSATD,用于检测带有 SATD 和漏洞的代码。我们在 MADE-WIC 数据集上评估了 VulSATD,该数据集由标注了 TD (通过 SATD) 和漏洞的函数组成。我们比较了单任务和多任务方法的结果,在采用加权损失后,两者之间没有显著差异。我们的发现表明,需进一步调查这些低质量代码方面的 SATD 与漏洞之间的关系。 Specifically, it is possible that only a subset of technical debt is directly associated with security concerns. Therefore, the relationship between different types of technical debt and software vulnerabilities deserves future exploration and a deeper understanding.

关键词

引用

@article{arxiv.2501.15934,
  title  = {Leveraging multi-task learning to improve the detection of SATD and vulnerability},
  author = {Barbara Russo and Jorge Melegati and Moritz Mock},
  journal= {arXiv preprint arXiv:2501.15934},
  year   = {2025}
}