skip to main content
10.1145/2597008.2597155acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

How do API changes trigger stack overflow discussions? a study on the Android SDK

Published: 02 June 2014 Publication History

Abstract

The growing number of questions related to mobile development in StackOverflow highlights an increasing interest of software developers in mobile programming. For the Android platform, 213,836 questions were tagged with Android-related labels in StackOverflow between July 2008 and August 2012. This paper aims at investigating how changes occurring to Android APIs trigger questions and activity in StackOverflow, and whether this is particularly true for certain kinds of changes. Our findings suggest that Android developers usually have more questions when the behavior of APIs is modified. In addition, deleting public methods from APIs is a trigger for questions that are (i) more discussed and of major interest for the community, and (ii) posted by more experienced developers. In general, results of this paper provide important insights about the use of social media to learn about changes in software ecosystems, and establish solid foundations for building new recommenders for notifying developers/managers about important changes and recommending them relevant crowdsourced solutions

References

[1]
Android Git repositories. https://android.googlesource.com.
[2]
Is there any way to run Python on Android?. http://stackoverflow.com/questions/101754, September 2008.
[3]
Stop EditText from gaining focus at Activity startup. http://stackoverflow.com/questions/1555109, October 2009.
[4]
Why is the Android emulator so slow?. http://stackoverflow.com/questions/1554099, October 2009.
[5]
Android BitmapDrawable Constructor Undefined. http://stackoverflow.com/questions/4904660, February 2011.
[6]
Android how to catch search key. http://stackoverflow.com/questions/12354725, September 2012.
[7]
A. Bacchelli. Mining challenge 2013: Stack overflow. In The 10th Working Conference on Mining Software Repositories, 2013.
[8]
A. Bacchelli, M. Lanza, and R. Robbes. Linking e-mails and source code artifacts. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE 2010, Cape Town, South Africa, 1-8 May 2010, pages 375–384. ACM, 2010.
[9]
A. Barua, S. Thomas, and A. Hassan. What are developers talking about? an analysis of topics and trends in stack overflow. Empirical Software Engineering (EMSE), 2012.
[10]
G. Bavota, A. Ciemniewska, I. Chulani, A. De Nigro, M. Di Penta, D. Galletti, R. Galoppini, T. Gordon, P. Kedziora, I. Lener, F. Torelli, R. Pratola, J. Pukacki, Y. Rebahi, and S. Garcia Villalonga. The MARKet for Open Source: An intelligent virtual open source marketplace. In IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE’14), pages 399–402. 2014.
[11]
N. Bettenburg, S. Thomas, and A. Hassan. Using fuzzy code search to link code fragments in discussions to source code. In 16th European Conference on Software Maintenance and Reengineering (CSMR’12), pages 319–328, 2012.
[12]
J. Businge, A. Serebrenik, and M. van den Brand. Analyzing the eclipse API usage: Putting the developer in the loop. In 17th European Conference on Software Maintenance and Reengineering (CSMR’13), pages 37–46, 2013.
[13]
W. J. Conover. Practical Nonparametric Statistics. Wiley, 3rd edition edition, 1998.
[14]
B. Dagenais and M. Robillard. Recovering traceability links between an API and its learning resources. In 34th International Conference on Software Engineering (ICSE’12), pages 47–57, 2012.
[15]
Google. Android Developer Reference Guide. http://developer.android.com/reference/.
[16]
Google. Reading and Writing Logs. {?}.
[17]
R. J. Grissom and J. J. Kim. Effect sizes for research: A broad practical approach. Lawrence Earlbaum Associates, 2nd edition edition, 2005.
[18]
S. Holm. A simple sequentially rejective Bonferroni test procedure. Scandinavian Journal on Statistics, 6:65–70, 1979.
[19]
R. Holmes and R. Walker. Customized awareness: Recommending relevant external change events. In 32nd ACM/IEEE International Conference on Software Engineering (ICSE’10), pages 465–474, 2010.
[20]
D. Hou and L. Li. Obstacles in using frameworks and APIs: An exploratory study of programmers’ newsgroup discussions. In IEEE 19th International Conference on Program Comprehension (ICPC’11), pages 91–100, 2011.
[21]
S. E. inc. Stack Overflowhttp://stackoverflow.com.
[22]
S. E. inc. Stack Overflow FAQhttp://stackoverflow.com/faq.
[23]
H. Li, Z. Xing, X. Peng, and W. Zhao. What help do developers seek, when and how? In 20th Working Conference on Reverse Engineering (WCRE’13), pages 142–152, 2013.
[24]
M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, M. Di Penta, R. Oliveto, and D. Poshyvanyk. 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, ESEC/FSE 2013, pages 477–487. ACM, 2013.
[25]
M. Linares-Vásquez, B. Dit, and D. Poshyvanyk. An exploratory analysis of mobile development issues using stack overflow. In 10th IEEE Working Conference on Mining Software Repositories (MSR’13), pages 93–96, 2013.
[26]
L. Mamykina, B. Manoim, M. Mittal, G. Hripcsak, and B. Hartmann. Design lessons from the fastest Q&A site in the west. In 2857-2866, editor, SIGCHI Conference on Human Factors in Computing Systems (CHI’’11), 2011.
[27]
T. McDonnell, B. Ray, and M. Kim. An empirical study of API stability and adoption in the Android ecosystem. In IEEE International Conference on Software Maintenance (ICSM’13), pages 70–79, 2013.
[28]
I. Mojica, B. Adams, M. Nagappan, S. Dienst, T. Berger, and A. Hassan. A large scale empirical study on software reuse in mobile apps. IEEE Software Special Issue on Next Generation Mobile Computing, 2013.
[29]
I. Mojica Ruiz, M. Nagappan, B. Adams, and A. Hassan. Understanding reuse in the Android market. In 20th IEEE International Conference on Program Comprehension (ICPC’12), pages 113–122, 2012.
[30]
L. Moonen. Generating robust parsers using island grammars. In 8th IEEE Working Conference on Reverse Engineering (WCRE), pages 13–22, 2001.
[31]
S. Nasehi, J. Sillito, F. Maurer, and C. Burns. What makes a good code example?: A study of programming Q&A in stackoverflow. In 28th IEEE International Conference on Software Maintenance (ICSM’’12), page 25.34, 2012.
[32]
S. Panichella, J. Aponte, M. Di Penta, A. Marcus, and G. Canfora. Mining source code descriptions from developer communications. In IEEE 20th International Conference on Program Comprehension (ICPC’12), pages 63–72, 2012.
[33]
C. Parnin, C. Treude, L. Grammel, and M.-A. Storey. Crowd documentation: Exploring the coverage and dynamics of API discussions on stack overflow. Technical Report GIT-CS-12-05, Georgia Tech, 2012.
[34]
P. Rigby and M. Robillard. Discovering essential code elements in informal documentation. In 35th International Conference on Software Engineering (ICSE’13), 2013.
[35]
R. Robbes, M. Lungu, and D. Rothlisberger. How do developers react to API deprecation?: the case of a Smalltalk ecosystem. In ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE’12), 2012.
[36]
M. Robillard and R. DeLine. A field study of API learning obstacles. Empirical Software Engineering (EMSE), 16:703–732, 2012.
[37]
C. Rupakheti and H. Daquing. Evaluating forum discussions to inform the design of an API critic. In IEEE 20th International Conference on Program Comprehension (ICPC’12), pages 53–62, 2012.
[38]
S. Subramanian, L. Inozemtseva, and R. Holmes. Live API documentation. In 36th International Conference on Software Engineering (ICSE’14), page to appear, 2014.
[39]
M. Syer, M. Nagappan, B. Adams, and A. Hassan. Revisiting prior empirical findings for mobile apps: An empirical case study on the 15 most popular open-source android apps. In CASCON 2013, 2013.
[40]
M. D. Syer, B. Adams, Y. Zou, and A. E. Hassan. Exploring the development of micro-apps: A case study on the BlackBerry and Android platforms. In IEEE 11th International Working Conference on Source Code Analysis and Manipulation (SCAM’11), pages 55–64, 2011.
[41]
C. Treude and M.-A. Storey. Effective communication of software development knowledge through community portals. In 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering (ESEC/FSE’11), pages 91–101, 2011.
[42]
B. Vasilescu, A. Serebrenik, P. Devanbu, and V. Filkov. How social q&a sites are changing knowledge sharing in open source software communities. In 17th ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW 2014), 2014.
[43]
S. Wang, D. Lo, and L. Jiang. An empirical study on developer interactions in stackoverflow. In 28th Annual ACM Symposium on Applied Computing, pages 1019–1024, 2013.
[44]
W. Wang and M. Godfrey. Detecting API usage obstacles: A study of iOS and Android developer questions. In 10th IEEE Working Conference on Mining Software Repositories (MSR’13), 2013.
[45]
Y. Zhang and D. Hou. Extracting problematic API features from forum discussions. In IEEE 21th International Conference on Program Comprehension (ICPC’13), 2013.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC 2014: Proceedings of the 22nd International Conference on Program Comprehension
June 2014
325 pages
ISBN:9781450328791
DOI:10.1145/2597008
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. API changes
  2. Android
  3. Social media
  4. StackOverflow

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)1
Reflects downloads up to 30 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media