按设计恢复:通过复用用户流从兼容性移动应用崩溃中恢复
Recover as It is Designed to Be: Recovering from Compatibility Mobile App Crashes by Reusing User Flows
AI总结:
提出 RecoFlow 框架,通过 API 和可视化工具编写用户流,自动重放 UI 操作并利用 Android OS 虚拟化技术以兼容模式运行,有效解决 Android 应用兼容性崩溃问题。
摘要:
Android OS 因 API 更新和设备厂商的 OS 定制而严重碎片化,形成不同 OS 版本共存的局面。这引发了兼容性崩溃问题,即 Android 应用在某些版本上崩溃而在其他版本上不崩溃。尽管广为人知,但由于市场上需测试的 Android 版本数量庞大,开发者极难解决此问题。我们提出 RecoFlow,一个使开发者能通过我们的 API 和可视化工具编写用户流,从而自动从崩溃中恢复应用的框架。RecoFlow 在用户设备上通过用户流追踪应用功能使用情况,并通过重放被崩溃中断的应用功能的 UI 操作来从崩溃中恢复应用。为防止兼容性崩溃复发,RecoFlow 在由我们新颖的 Android OS 虚拟化技术启用的兼容模式下执行先前崩溃的应用。专业 Android 开发者的评估表明,我们的 API 和工具易于使用,且能有效从兼容性崩溃中恢复。
英文摘要:
Android OS is severely fragmented by API updates and device vendors' OS customization, creating a market condition where vastly different OS versions coexist. This gives rise to compatibility crash problems where Android apps crash on certain Android versions but not on others. Although well-known, this problem is extremely challenging for app developers to overcome due to the sheer number of Android versions in the market that must be tested. We present RecoFlow, a framework for enabling app developers to automatically recover an app from a crash by programming user flows with our API and visual tools. RecoFlow tracks app feature usage with the user flows on user devices and recovers an app from a crash by replaying UI actions of the app feature disrupted by the crash. To prevent recurring compatibility crashes, RecoFlow executes a previously crashed app in compatibility mode that is enabled by our novel Android OS virtualization technique. Our evaluation with professional Android developers shows that our API and tools are easy to use and effective in recovering from compatibility crashes.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。