Just-in-Time Crash Prediction for Mobile Apps

aut.relation.articlenumber68
aut.relation.issue3
aut.relation.journalEmpirical Software Engineering
aut.relation.startpage68
aut.relation.volume29
dc.contributor.authorWimalasooriya, C
dc.contributor.authorLicorish, SA
dc.contributor.authorda Costa, DA
dc.contributor.authorMacDonell, SG
dc.date.accessioned2024-05-16T22:58:44Z
dc.date.available2024-05-16T22:58:44Z
dc.date.issued2024-05-08
dc.description.abstractJust-In-Time (JIT) defect prediction aims to identify defects early, at commit time. Hence, developers can take precautions to avoid defects when the code changes are still fresh in their minds. However, the utility of JIT defect prediction has not been investigated in relation to crashes of mobile apps. We therefore conducted a multi-case study employing both quantitative and qualitative analysis. In the quantitative analysis, we used machine learning techniques for prediction. We collected 113 reliability-related metrics for about 30,000 commits from 14 Android apps and selected 14 important metrics for prediction. We found that both standard JIT metrics and static analysis warnings are important for JIT prediction of mobile app crashes. We further optimized prediction performance, comparing seven state-of-the-art defect prediction techniques with hyperparameter optimization. Our results showed that Random Forest is the best performing model with an AUC-ROC of 0.83. In our qualitative analysis, we manually analysed a sample of 642 commits and identified different types of changes that are common in crash-inducing commits. We explored whether different aspects of changes can be used as metrics in JIT models to improve prediction performance. We found these metrics improve the prediction performance significantly. Hence, we suggest considering static analysis warnings and Android-specific metrics to adapt standard JIT defect prediction models for a mobile context to predict crashes. Finally, we provide recommendations to bridge the gap between research and practice and point to opportunities for future research.
dc.identifier.citationEmpirical Software Engineering, ISSN: 1382-3256 (Print); 1573-7616 (Online), Springer Science and Business Media LLC, 29(3), 68-. doi: 10.1007/s10664-024-10455-7
dc.identifier.doi10.1007/s10664-024-10455-7
dc.identifier.issn1382-3256
dc.identifier.issn1573-7616
dc.identifier.urihttp://hdl.handle.net/10292/17553
dc.languageen
dc.publisherSpringer Science and Business Media LLC
dc.relation.urihttps://link.springer.com/article/10.1007/s10664-024-10455-7
dc.rightsOpen Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
dc.rights.accessrightsOpenAccess
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subject46 Information and Computing Sciences
dc.subject4612 Software Engineering
dc.subject3 Good Health and Well Being
dc.subject0803 Computer Software
dc.subjectSoftware Engineering
dc.subject4612 Software engineering
dc.titleJust-in-Time Crash Prediction for Mobile Apps
dc.typeJournal Article
pubs.elements-id550440
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Just-in-Time crash prediction for mobile apps.pdf
Size:
1.6 MB
Format:
Adobe Portable Document Format
Description:
Journal article