Abstract
The popularity of mobile devices has been steadily growing in recent years. These devices heavily depend on software from the underlying operating systems to the applications they run. Prior research showed that mobile software is different than traditional, large software systems. However, to date most of our research has been conducted on traditional software systems. Very little work has focused on the issues that mobile developers face. Therefore, in this paper, we use data from the popular online Q&A site, Stack Overflow, and analyze 13,232,821 posts to examine what mobile developers ask about. We employ Latent Dirichlet allocation-based topic models to help us summarize the mobile-related questions. Our findings show that developers are asking about app distribution, mobile APIs, data management, sensors and context, mobile tools, and user interface development. We also determine what popular mobile-related issues are the most difficult, explore platform specific issues, and investigate the types (e.g., what, how, or why) of questions mobile developers ask. Our findings help highlight the challenges facing mobile developers that require more attention from the software engineering research and development communities in the future and establish a novel approach for analyzing questions asked on Q&A forums.
Similar content being viewed by others
References
Agarwal S, Mahajan R, Zheng A, Bahl V (2010) Diagnosing mobile applications in the wild. In: Proceedings of the 9th ACM SIGCOMM workshop on hot topics in networks, ser. Hotnets-IX, pp 22:1–22:6
Agarwal S, Mahajan R, Zheng A, Bahl V (2010) Diagnosing mobile applications in the wild. In: Workshop on hot topics in networks, pp 22:1–22:6
Allamanis M, Sutton C (2013) Why, when, and what: analyzing Stack Overflow questions by topic, type, and code. In: Proceedings of the 10th International working conference on mining software repositories. IEEE, pp 53–56
Al-Kofahi J, Tamrawi A, Nguyen TT, Nguyen HA, Nguyen HA (2010) Fuzzy set approach for automatic tagging in evolving software. In: 2010 IEEE International conference on software maintenance (ICSM), pp 1–10
Amalfitano D, Fasolino AR, Tramontana P (2011) A gui crawling-based technique for android mobile application testing. In: 2011 IEEE 4th International conference on software testing, verification and validation workshops (ICSTW). IEEE, pp 252–261
Bacchelli A (2013) Mining challenge 2013: stack overflow. In: The 10th working conference on mining software repositories
Bajaj K, Pattabiraman K, Mesbah A (2014) Mining questions asked by web developers. In: Proceedings of the working conference on mining software repositories (MSR). ACM, pp 112–121
Barua A, Thomas SW, Hassan AE (2014) What are developers talking about? an analysis of topics and trends in stack overflow. Empir Softw Eng 19(3):619–654
Beyer S, Pinzger M (2014) A manual categorization of android app development issues on stack overflow. In: 2014 IEEE International conference on software maintenance and evolution (ICSME), pp 531–535
Biggers LR, Bocovich C, Capshaw R, Eddy BP, Etzkorn LH, Kraft NA (2014) Configuring latent dirichlet allocation based feature location. Empir Softw Eng 19(3):465–500
Blei DM, Ng AY, Jordan MI (2003) Latent dirichlet allocation. J Mach Learn Res 3:993–1022
Dagenais B., Robillard MP (2009) Semdiff: analysis and recommendation support for api evolution. In: Proceedings of the 31st International conference on software engineering, ser.ICSE ’09, pp 599–602
Felt AP, Chin E, Hanna S, Song D, Wagner D (2011) Android permissions demystified. In: Proceedings of the 18th ACM conference on Computer and communications security. ACM, pp 627–638
Henning M (2007) Api design matters. Queue 5(4):24–36. [Online]. Available: doi:10.1145/1255421.1255422
Hora A, Etien A, Anquetil N, Ducasse S, Valente MT (2014) APIEvolutionMiner: keeping API evolution under control. In: Software evolution week (European conference on software maintenance and working conference on reverse engineering), Antwerp
Hu C, Neamtiu I (2011) Automating gui testing for android applications. In: Proceedings of the 6th International workshop on automation of software test. ACM, pp 77–83
Insight Berg (2012) The mobile application market
Joorabchi ME, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: Proceedings of the 2013 ACM-IEEE International symposium on empirical software engineering and measurement, ser.ESEM ’13, pp 15–24
Kim H, Choi B, Wong WE (2009) Performance testing of mobile applications at the unit test level. In: Proceedings of the 2009 3rd IEEE International conference on secure software integration and reliability improvement, ser.SSIRI ’09, pp 171–180
Kuhn A, Ducasse S, Gírba T (2007) Semantic clustering: identifying topics in source code. Inf Softw Technol 49(3):230–243
Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) Api change and fault proneness: a threat to the success of android apps. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering, pp 477–487
Linares-Vásquez M, Dit B, Poshyvanyk D (2013) An exploratory analysis of mobile development issues using stack overflow. In: Proceedings of the 10th working conference on mining software repositories, ser.MSR ’13, pp 93–96
Li H, Xing Z, Peng X, Zhao W (2013) What help do developers seek, when and how?. In: 2013 20th working conference on reverse engineering (WCRE). IEEE, pp 142–151
Lukins SK, Kraft NA, Etzkorn LH (2008) Source code retrieval for bug localization using latent dirichlet allocation. In: 2008 15th working conference on reverse engineering, WCRE’08. IEEE, pp 155–164
Mamykina L, Manoim B, Mittal M, Hripcsak G, Hartmann B (2011) Design lessons from the fastest q&a site in the west. In: Proceedings of the SIGCHI conference on human factors in computing systems. ACM, pp 2857–2866
McCallum AK (2002) Mallet: a machine learning for language toolkit. http://mallet.cs.umass.edu
McCallum A, Mimno DM, Wallach HM (2009) Rethinking lda: why priors matter. In: Bengio Y, Schuurmans D, Lafferty J, Williams C, Culotta A (eds) Advances in neural information processing systems 22. Curran Associates, Inc., pp 1973–1981
Minelli R, Lanza M (2013) Software analytics for mobile applications–insights & lessons learned. In: 2013 17th European conference on software maintenance and reengineering (CSMR), pp 144–153
Nasehi SM, Sillito J, Maurer F, Burns C (2012) What makes a good code example?: a study of programming q&a in stackoverflow. In: 2012 IEEE International conference on software maintenance (ICSM), pp 25–34
Newman D, Chemudugunta C, Smyth P, Steyvers M (2006) Analyzing entities and topics in news articles using statistical topic models. In: Intelligence and security informatics. Springer, Berlin Heidelberg, pp 93–104
Panichella A, Dit B, Oliveto R, Di Penta M, Poshyvanyk D, De Lucia A (2013) How to effectively use topic models for software engineering tasks? an approach based on genetic algorithms. In: Proceedings of the 2013 International conference on software engineering. IEEE Press, Piscataway, NJ, USA, pp 522–531
Panichella S, Aponte J, Di Penta M, Marcus A, Canfora G (2012) Mining source code descriptions from developer communications. In: 2012 IEEE 20th International conference on program comprehension (ICPC). IEEE, pp 63–72
Pletea D, Vasilescu B, Serebrenik A (2014) Security and emotion: sentiment analysis of security discussions on github. In: Proceedings of the 11th working conference on mining software repositories, ser.MSR 2014, pp 348–351
Ruiz IJM, Nagappan M, Adams B, Hassan AE (2012) Understanding reuse in the android market. In: ICPC 2012, pp 113–122
Sadeh B, Ørbekk K, Eide MM, Gjerde NC, Tønnesland TA, Gopalakrishnan S (2011) Towards unit testing of user interface code for android mobile applications. In: Software engineering and computer systems. Springer, Berlin Heidelberg New York, pp 163–175
Syer MD, Adams B, Zou Y, Hassan AE (2011) Exploring the development of micro-apps: a case study on the blackberry and android platforms. In: SCAM 2011, pp 55–64
Thomas SW (2012) Mining unstructured software repositories using ir models. Ph.D. dissertation, Queen’s University
Tracy KW (2012) Mobile application development experiences on apples ios and android os. IEEE Potentials 31(4):30–34
Treude C, Barzilay O, Storey M-A (2011) How do programmers ask and answer questions on the web?: Nier track. In: 2011 33rd International conference on software engineering (ICSE). IEEE, pp 804–807
Vasilescu B (2014) Academic papers using stack exchange data. Accessed: December 2014. [Online]. Available: http://meta.stackexchange.com/questions/134495/academic-papers-using-stack-exchange-data/134496
Wang S, Lo D, Vasilescu B, Serebrenik A (2014) Entagrec: an enhanced tag recommendation system for software information sites. In: 2014 IEEE International conference on software maintenance and evolution (ICSME). IEEE, pp 291–300
Wasserman T (2010) Software engineering issues for mobile application development. FoSER 2010
Xia X, Lo D, Wang X, Zhou B (2013) Tag recommendation in software information sites. In: Proceedings of the 10th Working conference on mining software repositories, ser.MSR ’13, pp 287–296
Zangerle E, Gassler W, Specht G (2011) Using tag recommendations to homogenize folksonomies in microblogging environments. In: Proceedings of the 3rd International conference on social informatics, ser.SocInfo’11, pp 113–126
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Premkumar Devanbu
Rights and permissions
About this article
Cite this article
Rosen, C., Shihab, E. What are mobile developers asking about? A large scale study using stack overflow. Empir Software Eng 21, 1192–1223 (2016). https://doi.org/10.1007/s10664-015-9379-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-015-9379-3