##

The world is hooked on mobile apps, with over 6.3 billion smartphone users worldwide relying on these digital wonders for everyday tasks and beyond. With users spending most of their mobile time (88%) on apps, it's crucial to ensure the reliability of these apps. But, despite the importance of app reliability, new apps are constantly being published, leaving developers scrambling to deliver highly reliable experiences. One major concern is crashes – a frustrating experience that can lead to user abandonment and damage to a company's reputation.

To combat this issue, we explored the concept of Just-In-Time (JIT) defect prediction in the context of mobile app crashes. Our multi-case study combined quantitative and qualitative analysis to investigate the utility of JIT defect prediction for identifying potential crash-inducing changes early on. By analyzing 113 reliability-related metrics from over 30,000 commits across 14 Android apps, we discovered that both standard JIT metrics and static analysis warnings are crucial for predicting mobile app crashes.

Using machine learning techniques, we optimized prediction performance by comparing seven state-of-the-art defect prediction techniques with hyperparameter optimization. Our results showed that Random Forest is the best-performing model, achieving an AUC-ROC of 0.83. Furthermore, our qualitative analysis revealed different types of changes common in crash-inducing commits, which can be used as metrics to improve prediction performance.

Our findings suggest that considering static analysis warnings and Android-specific metrics can significantly enhance standard JIT defect prediction models for mobile app crashes. By prioritizing QA activities and allocating resources wisely, developers can better identify and mitigate the causes of crashes early on, reducing the potential for costly rework and improving overall user experience.

##