TY - GEN
T1 - Predicting Crashing Releases of Mobile Applications
AU - Xia, Xin
AU - Shihab, Emad
AU - Kamei, Yasutaka
AU - Lo, David
AU - Wang, Xinyu
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/9/8
Y1 - 2016/9/8
N2 - Context: The quality of mobile applications has a vital impact on their user's experience, ratings and ultimately overall success. Given the high competition in the mobile application market, i.e., many mobile applications perform the same or similar functionality, users of mobile apps tend to be less tolerant to quality issues. Goal: Therefore, identifying these crashing releases early on so that they can be avoided will help mobile app developers keep their user base and ensure the overall success of their apps. Method: To help mobile developers, we use machine learning techniques to effectively predict mobile app releases that are more likely to cause crashes, i.e., crashing releases. To perform our prediction, we mine and use a number of factors about the mobile releases, that are grouped into six unique dimensions: complexity, time, code, diffusion, commit, and text, and use a Naive Bayes classified to perform our prediction. Results: We perform an empirical study on 10 open source mobile applications containing a total of 2,638 releases from the F-Droid repository. On average, our approach can achieve F1 and AUC scores that improve over a baseline (random) predictor by 50% and 28%, respectively. We also find that factors related to text extracted from the commit logs prior to a release are the best predictors of crashing releases and have the largest effect. Conclusions: Our proposed approach could help to identify crash releases for mobile apps.
AB - Context: The quality of mobile applications has a vital impact on their user's experience, ratings and ultimately overall success. Given the high competition in the mobile application market, i.e., many mobile applications perform the same or similar functionality, users of mobile apps tend to be less tolerant to quality issues. Goal: Therefore, identifying these crashing releases early on so that they can be avoided will help mobile app developers keep their user base and ensure the overall success of their apps. Method: To help mobile developers, we use machine learning techniques to effectively predict mobile app releases that are more likely to cause crashes, i.e., crashing releases. To perform our prediction, we mine and use a number of factors about the mobile releases, that are grouped into six unique dimensions: complexity, time, code, diffusion, commit, and text, and use a Naive Bayes classified to perform our prediction. Results: We perform an empirical study on 10 open source mobile applications containing a total of 2,638 releases from the F-Droid repository. On average, our approach can achieve F1 and AUC scores that improve over a baseline (random) predictor by 50% and 28%, respectively. We also find that factors related to text extracted from the commit logs prior to a release are the best predictors of crashing releases and have the largest effect. Conclusions: Our proposed approach could help to identify crash releases for mobile apps.
UR - http://www.scopus.com/inward/record.url?scp=84991730786&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84991730786&partnerID=8YFLogxK
U2 - 10.1145/2961111.2962606
DO - 10.1145/2961111.2962606
M3 - Conference contribution
AN - SCOPUS:84991730786
T3 - International Symposium on Empirical Software Engineering and Measurement
BT - 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016
PB - IEEE Computer Society
T2 - 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2016
Y2 - 8 September 2016 through 9 September 2016
ER -