[en] Android apps are prone to crash. This often arises from the misuse of Android framework APIs, making it harder to debug since official Android documentation does not discuss thoroughly potential exceptions.Recently, the program repair community has also started to investigate the possibility to fix crashes automatically. Current results, however, apply to limited example cases. In both scenarios of repair, the main issue is the need for more example data to drive the fix processes due to the high cost in time and effort needed to collect and identify fix examples. We propose in this work a scalable approach, CraftDroid, to mine crash fixes by leveraging a set of 28 thousand carefully reconstructed app lineages from app markets, without the need for the app source code or issue reports. We developed a replicative testing approach that locates fixes among app versions which output different runtime logs with the exact same test inputs. Overall, we have mined 104 relevant crash fixes, further abstracted 17 fine-grained fix templates that are demonstrated to be effective for patching crashed apks. Finally, we release ReCBench, a benchmark consisting of 200 crashed apks and the crash replication scripts, which the community can explore for evaluating generated crash-inducing bug patches.
Centre de recherche :
Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Security Design and Validation Research Group (SerVal)
Disciplines :
Sciences informatiques
Auteur, co-auteur :
KONG, Pingfan ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
li, li; Monash University
Gao, Jun; University of Luxembourg > Interdisciplinary Center for Security, Reliability and Trust
KLEIN, Jacques ; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > Computer Science and Communications Research Unit (CSC)
Co-auteurs externes :
yes
Langue du document :
Anglais
Titre :
Mining Android Crash Fixes in the Absence of Issue- and Change-Tracking Systems
Date de publication/diffusion :
15 juillet 2019
Nom de la manifestation :
The 28th International Symposium on Software Testing and Analysis
Organisateur de la manifestation :
ACM
Lieu de la manifestation :
Beijing, Chine
Date de la manifestation :
from 15-07-2019 to 19-07-2019
Manifestation à portée :
International
Références de l'abstract :
@inproceedings{kong2019mining,
title={Mining Android crash fixes in the absence of issue-and change-tracking systems},
author={Kong, Pingfan and Li, Li and Gao, Jun and Bissyand{\'e}, Tegawend{\'e} F and Klein, Jacques},
booktitle={Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis},
pages={78--89},
year={2019}
}
FNR11693861 - Characterization Of Malicious Code In Mobile Apps: Towards Accurate And Explainable Malware Detection, 2017 (01/06/2018-31/12/2021) - Jacques Klein