Using and Asking: APIs Used in the Android Market and Asked about in StackOverflow

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8238)


Programming is knowledge intensive. While it is well understood that programmers spend lots of time looking for information, with few exceptions, there is a significant lack of data on what information they seek, and why. Modern platforms, like Android, comprise complex APIs that often perplex programmers. We ask: which elements are confusing, and why? Increasingly, when programmers need answers, they turn to StackOverflow. This provides a novel opportunity. There are a vast number of applications for Android devices, which can be readily analyzed, and many traces of interactions on StackOverflow. These provide a complementary perspective on using and asking, and allow the two phenomena to be studied together. How does the market demand for the USE of an API drive the market for knowledge about it? Here, we analyze data from Android applications and StackOverflow together, to find out what it is that programmers want to know and why.


Hurdle Model Android Application Natural Language Text Program Understanding Data Dump 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
  3. 3.
  4. 4.
    Cameron, A.C., Trivedi, P.K.: Regression analysis of count data, vol. 30. Cambridge University Press (1998)Google Scholar
  5. 5.
  6. 6.
    Cohen, J.: Applied multiple regression/correlation analysis for the behavioral sciences. Lawrence Erlbaum (2003)Google Scholar
  7. 7.
    Corbi, T.A.: Program understanding: Challenge for the 1990s. IBM Systems Journal 28(2), 294–306 (1989)CrossRefGoogle Scholar
  8. 8.
    Curtis, B., Krasner, H., Iscoe, N.: A field study of the software design process for large systems. Communications of the ACM 31(11), 1268–1287 (1988)CrossRefGoogle Scholar
  9. 9.
    Dagenais, B., Robillard, M.P.: Creating and evolving developer documentation: understanding the decisions of open source contributors. In: Proceedings of 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 127–136. ACM (2010)Google Scholar
  10. 10.
  11. 11.
    Jiau, H.C., Yang, F.-P.: Facing up to the inequality of crowdsourced api documentation. ACM SIGSOFT Software Engineering Notes 37(1), 1–9 (2012)CrossRefGoogle Scholar
  12. 12.
    Ko, A.J., DeLine, R., Venolia, G.: Information needs in collocated software development teams. In: Proceedings of the 29th International Conference on Software Engineering, pp. 344–353. IEEE Computer Society (2007)Google Scholar
  13. 13.
    Letovsky, S.: Cognitive processes in program comprehension. Journal of Systems and Software 7(4), 325–339 (1987)CrossRefGoogle Scholar
  14. 14.
  15. 15.
    Parnin, C., Treude, C., Grammel, L., Storey, M.-A.: Crowd documentation: Exploring the coverage and the dynamics of api discussions on stack overflow. Georgia Institute of Technology, Tech. Rep.Google Scholar
  16. 16.
    Posnett, D., Warburg, E., Devanbu, P., Filkov, V.: Mining stack exchange: Expertise is evident from earliest interactionsGoogle Scholar
  17. 17.
    Rigby, P.C., Robillard, M.P.: Discovering essential code elements in informal documentation. In: ICSE 2013 (2013)Google Scholar
  18. 18.
    Sillito, J., Murphy, G.C., De Volder, K.: Asking and answering questions during a programming change task. IEEE Transactions on Software Engineering 34(4), 434–451 (2008)CrossRefGoogle Scholar
  19. 19.
  20. 20.
    Treude, C., Barzilay, O., Storey, M.-A.: How do programmers ask and answer questions on the web?: Nier track. In: 2011 33rd International Conference on Software Engineering (ICSE), pp. 804–807. IEEE (2011)Google Scholar
  21. 21.
    Treude, C., Storey, M.-A.: Effective communication of software development knowledge through community portals. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp. 91–101. ACM (2011)Google Scholar
  22. 22.
    Vuong, Q.H.: Likelihood ratio tests for model selection and non-nested hypotheses. Econometrica: Journal of the Econometric Society, 307–333 (1989)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  1. 1.Univ. of California DavisDavisUSA

Personalised recommendations