Skip to main content

What are mobile developers asking about? A large scale study using stack overflow

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

References

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. Bacchelli A (2013) Mining challenge 2013: stack overflow. In: The 10th working conference on mining software repositories

  7. 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

  8. 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

    Article  Google Scholar 

  9. 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

  10. 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

    Article  Google Scholar 

  11. Blei DM, Ng AY, Jordan MI (2003) Latent dirichlet allocation. J Mach Learn Res 3:993–1022

    MATH  Google Scholar 

  12. 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

  13. 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

  14. Henning M (2007) Api design matters. Queue 5(4):24–36. [Online]. Available: doi:10.1145/1255421.1255422

    Article  Google Scholar 

  15. 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

  16. 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

  17. Insight Berg (2012) The mobile application market

  18. 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

  19. 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

  20. Kuhn A, Ducasse S, Gírba T (2007) Semantic clustering: identifying topics in source code. Inf Softw Technol 49(3):230–243

    Article  Google Scholar 

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. McCallum AK (2002) Mallet: a machine learning for language toolkit. http://mallet.cs.umass.edu

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. Ruiz IJM, Nagappan M, Adams B, Hassan AE (2012) Understanding reuse in the android market. In: ICPC 2012, pp 113–122

  35. 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

  36. 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

  37. Thomas SW (2012) Mining unstructured software repositories using ir models. Ph.D. dissertation, Queen’s University

  38. Tracy KW (2012) Mobile application development experiences on apples ios and android os. IEEE Potentials 31(4):30–34

    Article  Google Scholar 

  39. 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

  40. 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

  41. 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

  42. Wasserman T (2010) Software engineering issues for mobile application development. FoSER 2010

  43. 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

  44. 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

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Emad Shihab.

Additional information

Communicated by: Premkumar Devanbu

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Mobile issues
  • Mobile software development
  • Stack overflow