Java程序资源泄露缺陷检测:传统模型和语言模型的有效性分析
CSTR:
作者:
作者单位:

作者简介:

通讯作者:

计卫星,E-mail:jwx@bnu.edu.cn

中图分类号:

TP311

基金项目:

国家自然科学基金重点项目(62232003)


Detection of Resource Leaks in Java Programs: Effectiveness Analysis of Traditional Models and Language Models
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    资源泄露是由于有限的系统资源未能及时正确关闭所导致的缺陷,广泛存在于各种语言程序中,且具有一定的隐蔽性.传统的缺陷检测方法通常基于规则和启发式搜索预测软件中的资源泄露.近年来,基于深度学习的缺陷检测方法通过不同的代码表征形式并使用循环神经网络、图神经网络等技术捕获代码中的语义信息.最近的研究显示,语言模型在代码理解和生成等任务中表现出色.然而语言模型针对资源泄露检测这一特定任务上的优势和局限性尚未得到充分评估.研究了基于传统模型、小模型和大模型的检测方法在资源泄露检测任务中的有效性,并探究了小样本学习、微调以及静态分析与大模型结合的多种改进方式.具体而言,以JLeaks和DroidLeaks数据集为实验对象,从资源泄露根本原因、资源种类、代码复杂度等多个维度分析了不同模型的表现.实验结果表明,微调技术能够显著提升大模型在资源泄露检测领域的检测效果.然而,大部分模型在识别第三方库引发的资源泄露上仍需改进.此外,代码复杂度对基于传统模型的检测方法的影响更大.

    Abstract:

    Resource leaks are software defects caused by improper closing of limited system resources, and they are prevalent in program software written in various languages and somewhat concealed. Traditional defect detection approaches rely on rules and heuristics. In recent years, deep learning approaches have used various code representations and technologies, such as RNN and GNN, to understand code semantics. Language models (LMs) have demonstrated significant advancements in code understanding and generation in recent research, yet their effectiveness in resource leak detection remains underexplored. This study evaluates traditional model-based, small language model-based (SLM-based) and large language model-based (LLM-based) methods for resource leak detection and investigates enhancements through few-shot learning, fine-tuning, and integration of static analysis with LLMs. Using the JLeaks and DroidLeaks datasets, we evaluate model performance from multiple perspectives, including the root causes of leaks, resource types, and code complexity. Our findings indicate that fine-tuning can significantly improve LM’s performance. However, most models need further improvement in detecting resource leaks from third-party libraries. Furthermore, code complexity has a greater impact on traditional model-based detection methods for resource leak detection.

    参考文献
    相似文献
    引证文献
引用本文

刘天阳,叶嘉威,计卫星,刘辉. Java程序资源泄露缺陷检测:传统模型和语言模型的有效性分析.软件学报,2025,36(6):0

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2024-08-26
  • 最后修改日期:2024-10-14
  • 录用日期:
  • 在线发布日期: 2024-12-10
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号