DynamicsLLM:基于动态分析的工具,用于生成智能执行跟踪,使用 LLM 检测 Android 行为代码味道
DynamicsLLM: a Dynamic Analysis-based Tool for Generating Intelligent Execution Traces Using LLMs to Detect Android Behavioural Code Smells
摘要
移动应用程序已成为我们日常生活的必需品,这使得代码质量成为开发人员最关心的问题。行为代码异味是源代码中的特征,会在执行过程中引发不适当的代码行为,从而对性能、能耗和内存方面的软件质量产生负面影响。 Dynamics 是最新、最先进的基于工具的方法,在检测 Android 行为代码异味方面非常有效。虽然它的性能优于静态分析工具,但它的误报率很高,多个代码异味实例仍未被检测到。 大语言模型 (LLM) 在众多研究领域取得了显着的进展,并为生成智能执行跟踪提供了巨大的潜力,特别是在检测 Android 移动应用程序中的行为代码气味方面。通过智能执行跟踪,我们指的是由特定操作以触发给定行为识别的方式生成的一系列事件。我们在本文中提出以下三个主要贡献:(1)DynamicsLLM,Dynamics 方法的增强实现,利用 LLM 智能生成执行跟踪。 (2) 一种新颖的混合方法,旨在提高活动数量较少的应用程序中代码气味相关事件的覆盖率。 (3) 在 F-DROID 的 333 个移动应用程序上对 DynamicsLLM 进行全面验证,包括与 Dynamics 工具的比较。我们的结果表明,在有限数量的操作下,配置了 100% LLM 的 DynamicsLLM 覆盖的代码气味相关事件是 Dynamics 的三倍。对于包含少量活动的应用程序,混合方法将 LLM 覆盖率提高了 25.9%。此外,12.7% 无法由 Dynamics 触发的代码气味相关事件被我们的工具成功触发。