- 简介资源泄漏是由于资源在获取后未被释放而导致的性能问题和系统崩溃。现有的静态检测技术依赖于预定义资源获取/释放API的机械匹配,面临着效果、预定义API的完整性、可达性验证的识别和分析复杂性等挑战。为了克服这些挑战,我们提出了InferROI,一种新颖的方法,利用大型语言模型(LLM)根据资源管理知识和代码上下文理解直接推断代码中的面向资源意图(获取、释放和可达性验证),而不是机械API匹配。InferROI使用提示来指导LLM从给定的代码片段中推断涉及的意图,然后将其翻译成正式表达式。通过聚合这些推断的意图,InferROI利用轻量级的基于静态分析的算法来分析从代码中提取的控制流路径,从而检测资源泄漏。我们在Java程序上评估了InferROI,并调查了它在面向资源意图推断和资源泄漏检测方面的有效性。实验结果表明,InferROI在来自DroidLeaks数据集的172个代码片段上的意图推断方面实现了74.6%的精度和81.8%的召回率。此外,InferROI覆盖了数据集中列出的重要Android资源的大部分。当应用于DroidLeaks数据集中的86个错误时,与八个基准检测器相比,InferROI表现出高的错误检测率(53.5%)和低的误报率(8.1%)。此外,我们将InferROI应用于100个来自真实开源项目的方法中的资源泄漏检测,发现了12个未知的资源泄漏错误,其中7个被开发人员确认。
-
- 图表
- 解决问题该论文旨在解决资源泄漏问题,提出了一种新的静态检测方法InferROI,通过大型语言模型直接推断代码中的资源意图,从而检测资源泄漏。
- 关键思路InferROI利用大型语言模型直接推断代码中的资源意图,避免了传统机械API匹配方法的局限性,提高了检测的准确性和完整性。
- 其它亮点论文使用DroidLeaks数据集和真实的开源项目进行了实验,证明了InferROI的有效性和可扩展性。实验结果表明,InferROI在意图推断方面具有74.6%的准确率和81.8%的召回率,在资源泄漏检测方面具有较高的检测率和较低的误报率。
- 在相关研究方面,最近的一些研究包括:《Automated Resource Leak Detection for Android Applications》、《Static Analysis for Automatic Detection of Resource Leaks in Android Applications》等。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流