论文
FIKA:通过可执行性保证扩展依赖关系的可达性
FIKA: Expanding Dependency Reachability with Executability Guarantees
摘要
自动化的第三方库分析工具可以帮助开发人员解决关键的依赖关系管理挑战,例如自动版本更新、检测漏洞和检测重大更新。依赖可达性分析旨在通过将依赖问题的空间减少到真正重要的问题来提高依赖管理的精度。大多数用于依赖性可达性分析的工具都是静态的,并且从根本上受到缺乏执行的限制。在本文中,我们提出了 FIKA,一种为第三方库调用站点提供可执行性保证的管道。 FIKA 利用静态分析引导的 大语言模型 (LLM) 来生成执行的代码,其执行跟踪保证第三方库调用站点实际上是可执行的。我们将我们的方法应用于八个 Java 项目的数据集,以实证评估 FIKA 的有效性。平均而言,现有测试套件覆盖了 54% 的调用站点,因此有证据证明其可执行性。 FIKA 将覆盖范围提高了 20%,为 1465 个先前未覆盖的呼叫站点中的 609 个生成了成功的可达性场景。在八个项目中的六个中,FIKA 提供了超过 75% 的调用站点可执行的强有力保证。我们进一步证明 FIKA 比 Semgrep(一种最先进的静态漏洞可达性分析工具)有所改进,并且优于 Jazzer(一种覆盖范围引导的定向模糊器)。我们证明 FIKA 可以帮助确定漏洞更新的优先级,并提供更强的可执行性保证。