中文

检测并修复 Android 应用中的数据丢失问题

软件工程 2022-09-20 v1

摘要

Android 应用是事件驱动的,其执行常被外部事件中断。这种中断会导致恼人的数据丢失问题。例如,当屏幕旋转时,当前应用页面会被销毁并重建。若应用状态未被妥善保存,用户数据将会丢失。在本工作中,我们提出一种方法与工具 iFixDataloss,可自动检测并修复 Android 应用中的数据丢失问题。为此,我们识别可能发生数据丢失问题的场景,制定揭示数据丢失问题的策略,并设计补丁模板以修复它们。我们在 66 个 Android 应用上的实验表明,iFixDataloss 检测到 374 个数据丢失问题(其中 284 个此前未知),并成功为 374 个问题中的 188 个生成补丁。在提交的 20 个补丁中,16 个已被开发者接受。与 SOTA 技术相比,iFixDataloss 在检测到的数据丢失问题数量与生成补丁质量方面均显著更优。

关键词

引用

@article{arxiv.2209.08719,
  title  = {Detecting and Fixing Data Loss Issues in Android Apps},
  author = {Wunan Guo and Zhen Dong and Liwei Shen and Wei Tian and Ting Su and Xin Peng},
  journal= {arXiv preprint arXiv:2209.08719},
  year   = {2022}
}