论文标题

检测和解决Android应用中的数据丢失问题

Detecting and Fixing Data Loss Issues in Android Apps

论文作者

Guo, Wunan, Dong, Zhen, Shen, Liwei, Tian, Wei, Su, Ting, Peng, Xin

论文摘要

Android应用程序是事件驱动的,其执行通常会被外部事件中断。这种中断会导致数据丢失问题,使用户烦恼。例如,当屏幕旋转时,当前的应用程序页面将被破坏和重新创建。如果应用程序状态不正确,则将丢失用户数据。在这项工作中,我们提出了一种方法和工具IfixDataloss,该方法自动检测并解决了Android应用程序中的数据丢失问题。为了实现这一目标,我们确定可能发生数据丢失问题的方案,制定揭示数据丢失问题的策略,并设计补丁模板来修复它们。我们在66个Android应用程序上进行的实验表明,IfixDataloss检测到374个数据丢失问题(以前有284个未知),并在374期中的188期中成功生成了补丁。在20个提交的补丁中,有16个被开发人员接受。与最先进的技术相比,IfixDataloss在检测到的数据丢失问题的数量和生成的补丁的质量方面表现出色。

Android apps are event-driven, and their execution is often interrupted by external events. This interruption can cause data loss issues that annoy users. For instance, when the screen is rotated, the current app page will be destroyed and recreated. If the app state is improperly preserved, user data will be lost. In this work, we present an approach and tool iFixDataloss that automatically detects and fixes data loss issues in Android apps. To achieve this, we identify scenarios in which data loss issues may occur, develop strategies to reveal data loss issues, and design patch templates to fix them. Our experiments on 66 Android apps show iFixDataloss detected 374 data loss issues (284 of them were previously unknown) and successfully generated patches for 188 of the 374 issues. Out of 20 submitted patches, 16 have been accepted by developers. In comparison with state-of-the-art techniques, iFixDataloss performed significantly better in terms of the number of detected data loss issues and the quality of generated patches.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源