Android apps must work correctly even if their execution is interrupted by external events. For instance, an app must work properly even if a phone call is received, or after its layout is redrawn because the smartphone has been rotated. Since these events may require destroying, when the execution is interrupted, and recreating, when the execution is resumed, the foreground activity of the app, the only way to prevent the loss of state information is to save and restore it. This behavior must be explicitly implemented by app developers, who often miss to implement it properly, releasing apps affected by data loss problems, that is, apps that may lose state information when their execution is interrupted. Although several techniques can be used to automatically generate test cases for Android apps, the obtained test cases seldom include the interactions and the checks necessary to exercise and reveal data loss faults. To address this problem, this paper presents Data Loss Detector (DLD), a test case generation technique that integrates an exploration strategy, data-loss-revealing actions, and two customized oracle strategies for the detection of data loss failures. DLD revealed 75% of the faults in a benchmark of 54 Android app releases affected by 110 known data loss faults, and also revealed unknown data loss problems, outperforming competing approaches.

Riganelli, O., Mottadelli, S., Rota, C., Micucci, D., Mariani, L. (2020). Data loss detector: Automatically revealing data loss bugs in Android apps. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (pp.141-152). Association for Computing Machinery, Inc [10.1145/3395363.3397379].

Data loss detector: Automatically revealing data loss bugs in Android apps

Riganelli, Oliviero;Rota, Claudio;Micucci, Daniela;Mariani, Leonardo
2020

Abstract

Android apps must work correctly even if their execution is interrupted by external events. For instance, an app must work properly even if a phone call is received, or after its layout is redrawn because the smartphone has been rotated. Since these events may require destroying, when the execution is interrupted, and recreating, when the execution is resumed, the foreground activity of the app, the only way to prevent the loss of state information is to save and restore it. This behavior must be explicitly implemented by app developers, who often miss to implement it properly, releasing apps affected by data loss problems, that is, apps that may lose state information when their execution is interrupted. Although several techniques can be used to automatically generate test cases for Android apps, the obtained test cases seldom include the interactions and the checks necessary to exercise and reveal data loss faults. To address this problem, this paper presents Data Loss Detector (DLD), a test case generation technique that integrates an exploration strategy, data-loss-revealing actions, and two customized oracle strategies for the detection of data loss failures. DLD revealed 75% of the faults in a benchmark of 54 Android app releases affected by 110 known data loss faults, and also revealed unknown data loss problems, outperforming competing approaches.
No
paper
Android, data loss, test case generation, validation, mobile apps
English
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA)
9781450380089
Riganelli, O., Mottadelli, S., Rota, C., Micucci, D., Mariani, L. (2020). Data loss detector: Automatically revealing data loss bugs in Android apps. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (pp.141-152). Association for Computing Machinery, Inc [10.1145/3395363.3397379].
Riganelli, O; Mottadelli, S; Rota, C; Micucci, D; Mariani, L
File in questo prodotto:
File Dimensione Formato  
main.pdf

Solo gestori archivio

Tipologia di allegato: Submitted Version (Pre-print)
Dimensione 9.45 MB
Formato Adobe PDF
9.45 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/277010
Citazioni
  • Scopus 6
  • ???jsp.display-item.citation.isi??? ND
Social impact