论文
将声明式 UI 移植到 HarmonyOS:启发式 LLM 方法
Porting Declarative UI to HarmonyOS: A Heuristic-guided LLM Approach
摘要
HarmonyOS作为新兴操作系统,对Android、iOS等平台的软件迁移需求很大,其中UI翻译占据了关键环节。然而,最新的 UI 开发已经转向声明性范例,例如 Android 的 Kotlin Jetpack Compose (KJC)、iOS 的 SwiftUI 和 HarmonyOS 的 ArkUI,使得之前的转换方法不再适用,因为它们要么针对后端逻辑,要么针对传统的命令式 UI。因此,本文针对 ArkUI 提出了一种自动翻译方法,即 ArkTrans,将 UI 文件从 Android 和 iOS 移植到 HarmonyOS。 ArkTrans 在翻译过程中克服了两个突出的挑战:(1)编程语言(PL)不熟悉,(2)严重的语法混乱。针对第一个挑战,ArkTrans 通过从源 PL 中提取元数据来启发式构建 ArkUI 骨架,从而指导 LLM 的初始翻译。至于第二个挑战,ArkTrans 通过模式匹配执行经验揭示的后修复规则,以修复大部分剩余的语法错误。为了检验 ArkTrans 的有效性,我们在文件级别构建了从 KJC/SwiftUI 到 ArkUI 的 100 个样本并行 UI 页面翻译基准。大量实验表明,具有直接/一次性提示的 LLM 无法翻译单个可编译 UI 页面。相比之下,最多 90.67\% ArkTrans 翻译的文件可以成功编译,具有高视觉保真度。