论文

XRFix:使用 大语言模型 探索扩展现实应用程序的性能错误修复

XRFix: Exploring Performance Bug Repair of Extended Reality Applications with Large Language Models

摘要

作为一项新兴技术,扩展现实为最终用户提供了与虚拟和物理环境交互的沉浸式体验。与传统软件不同,XR 应用程序的执行涉及计算更加复杂的操作,例如 3D 场景渲染、实时动画和过程模拟。 XR应用程序的软件开发过程中低效的编码实践可能会导致各种性能错误,降低用户体验,甚至导致晕动病。因此,迫切需要开发一种自动化程序修复框架来修复复杂XR程序中的性能错误。然而,由于存在以下几个技术挑战,实现这一目标并非易事:(1) 缺乏真实的 XR 代码库和 bug 数据集,(2) 没有准确的 bug 检测工具,(3) 没有针对 XR 性能 bug 设计的有效 bug 修复工具。为了应对这些挑战,我们提出了一种基于 大语言模型 的新型框架,即 XRFix,来修复开源 XR 程序的性能错误。我们首先构建了一个特定领域性能错误的语料库,该语料库是使用 23 个开源 XR 项目的代码库和包含 104 个现实世界错误的 XR 相关错误数据集构建的。然后,我们定制了两个静态分析工具来准确检测 C# 脚本和资产文件中的错误。最后,我们设计了不同的提示来指示 LLM 在单行级别、函数级别和类级别三种不同复杂程度的 bug 场景中修复 XR bug。我们对五个现成的 LLM 进行了广泛的实验,以评估 XRFix 的错误修复性能。我们还将 XRFix 与三种 SOTA APR 方法进行了比较。通过静态分析、参考答案比较和手动检查,我们证明我们的 XRFix 可以有效修复 XR 错误,优于 SOTA APR 方法。