Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2820518.2820546acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Recommending posts concerning API issues in developer q&a sites

Published: 16 May 2015 Publication History

Abstract

API design is known to be a challenging craft, as API designers must balance their elegant ideals against "real-world" concerns, such as utility, performance, backwards compatibility, and unforeseen emergent uses. However, to date, there is no principled method to collect or analyze API usability information that incorporates input from typical developers. In practice, developers often turn to Q&A websites such as stackoverflow.com (SO) when seeking expert advice on API use; the popularity of such sites has thus led to a very large volume of unstructured information that can be searched with diligence for answers to specific questions. The collected wisdom within such sites could, in principle, be of great help to API designers to better support developer needs, if only it could be collected, analyzed, and distilled for practical use.
In this paper, we present a methodology that combines several techniques, including social network analysis and topic mining, to recommend SO posts that are likely to concern API design-related issues. To establish a comparison baseline, we introduce two more recommendation approaches: a reputation-based recommender and a random recommender. We have found that when applied to Q&A discussion of two popular mobile platforms, Android and iOS, our methodology achieves up to 93% accuracy and is more stable with its recommendations when compared to the two baseline techniques.

References

[1]
Ask a question about the google drive sdk. https://developers.google.com/drive/support, accessed in Jan. 2015.
[2]
Google taps stackoverflow as offical andriod dev support for noobs. http://readwrite.com/2009/12/20/stackoverflow-android-support\#awesm=~oCRlpsKottvxVi, accessed in Jan. 2015.
[3]
Supporting developers on stack overflow. https://developers.facebook.com/blog/post/545/, accessed in Jan. 2015.
[4]
A. Anderson, D. Huttenlocher, J. Kleinberg, and J. Leskovec. Discovering value from community activity on focused question answering sites: A case study of stack overflow. KDD '12, pages 850--858, 2012.
[5]
M. Asaduzzaman, A. S. Mashiyat, C. K. Roy, and K. A. Schneider. Answering questions about unanswered questions of stack overflow. MSR '13, pages 97--100.
[6]
K. Bajaj, K. Pattabiraman, and A. Mesbah. Mining questions asked by web developers. MSR '14, pages 112--121.
[7]
A. Barua, S. W. Thomas, and A. E. Hassan. What are developers talking about? An analysis of topics and trends in stack overflow. 19(3):619--654, 2014.
[8]
A. Bosu, C. S. Corley, D. Heaton, D. Chatterji, J. C. Carver, and N. A. Kraft. Building reputation in stackoverflow: An empirical investigation. MSR '13, pages 89--92, Piscataway, NJ, USA, 2013. IEEE Press.
[9]
A. Broder, R. Kumar, F. Maghoul, P. Raghavan, S. Rajagopalan, R. Stata, A. Tomkins, and J. Wiener. Graph structure in the web. Proceedings of the 9th International World Wide Web Conference on Computer Networks: The International Journal of Computer and Telecommunications Netowrking, pages 309--320, 2000.
[10]
L. G. C. Parnin, C. Treude and M. Storey. Crowd documentation: Exploring the coverage and the dynamics of API discussions on stack overflow. 2012.
[11]
D. Correa and A. Sureka. Chaff from the wheat: Characterization and modeling of deleted questions on stack overflow. WWW '14, pages 631--642, 2014.
[12]
B. E. Cossette and R. J. Walker. Seeking the ground truth: A retroactive study on the evolution and migration of software libraries. FSE '12, pages 55:1--55:11, New York, NY, USA, 2012. ACM.
[13]
F. M. Harper, D. Moy, and J. A. Konstan. Facts or friends?: Distinguishing informational and conversational questions in social q & a sites. CHI '09, pages 759--768.
[14]
A. Hindle, M. Godfrey, and R. Holt. What's hot and what's not: Windowed developer topic analysis. ICSM '09, pages 339--348, Sept 2009.
[15]
D. Hou and L. Li. Obstacles in using frameworks and APIs: An exploratory study of programmers' newsgroup discussions. ICPC, pages 91--100, June 2011.
[16]
M. Kechagia. Improvement of applications' stability through robust APIs. ASE '14, pages 907--910, New York, NY, USA, 2014. ACM.
[17]
G. A. Kintab, C. Roy, and G. McCalla. Recommending software experts using code similarity and social heuristics. CASCON 2014, pages 4--18. IBM Corp.
[18]
M. Linares-Vásquez. Supporting evolution and maintenance of android apps. ICSE Companion '14, pages 714--717, 2014.
[19]
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. ESEC/FSE 2013, pages 477--487, New York, NY, USA, 2013. ACM.
[20]
M. Linares-Vásquez, G. Bavota, M. Di Penta, R. Oliveto, and D. Poshyvanyk. How do API changes trigger stack overflow discussions? a study on the android sdk. ICPC '14, pages 83--94, 2014.
[21]
L. Mamykina, B. Manoim, M. Mittal, G. Hripcsak, and B. Hartmann. Design lessons from the fastest Q & A site in the west. CHI '11, pages 2857--2866, 2011.
[22]
A. K. McCallum. Mallet: A machine learning for language toolkit. 2002.
[23]
T. McDonnell, B. Ray, and M. Kim. An empirical study of API stability and adoption in the android ecosystem. ICSM '13, pages 70--79, 2013.
[24]
R. Medrano. Welcome to the API economy. http://www.forbes.com/sites/ciocentral/2012/08/29/welcome-to-the-api-economy/, Forbes, accessed in Jan. 2015.
[25]
K. K. Nam, M. S. Ackerman, and L. A. Adamic. Questions in, knowledge in?: A study of naver's question answering community. CHI '09, pages 779--788.
[26]
S. Nasehi, J. Sillito, F. Maurer, and C. Burns. What makes a good code example?: A study of programming Q & A in stackoverflow. ICSM '12, pages 25--34, Sept. 2012.
[27]
T. Nguyen, B. Adams, Z. M. Jiang, A. Hassan, M. Nasser, and P. Flora. Automated verification of load tests using control charts. Software Engineering Conference (APSEC), 2011 18th Asia Pacific, pages 282--289, Dec 2011.
[28]
A. Panichella, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. De Lucia. How to effectively use topic models for software engineering tasks? An approach based on genetic algorithms. ICSE '13, pages 522--531, 2013.
[29]
L. Ponzanelli, A. Mocci, A. Bacchelli, M. Lanza, and D. Fullerton. Improving low quality stack overflow post detection. (ICSME), 2014, pages 541--544. IEEE, 2014.
[30]
S. Ravi, B. Pang, V. Rastogi, and R. Kumar. Great question! question quality in community q&a. Eighth International AAAI Conference on Weblogs and Social Media, 2014.
[31]
M. Robillard and R. DeLine. A field study of API learning obstacles. 16(6):703--732, 2011.
[32]
P. Royston. Approximating the shapiro-wilk w-test for non-normality. 2(3):117--119, 1992.
[33]
C. R. Rupakheti and D. Hou. Evaluating forum discussions to inform the design of an API critic. ICPC, pages 53--62, 2012.
[34]
J. Stylos, B. A. Myers, and Z. Yang. Jadeite: Improving API documentation using usage information. CHI '09 Extended Abstracts on Human Factors in Computing Systems, pages 4429--4434, 2009.
[35]
S. Subramanian and R. Holmes. Making sense of online code snippets. MSR '13, pages 85--88, Piscataway, NJ, USA, 2013. IEEE Press.
[36]
S. Subramanian, L. Inozemtseva, and R. Holmes. Live API documentation. Proceedings of the 36th International Conference on Software Engineering, pages 643--652. ACM, 2014.
[37]
S. Thomas. Mining software repositories using topic models. ICSE '2011, pages 1138--1139, May 2011.
[38]
C. Treude, O. Barzilay, and M.-A. Storey. How do programmers ask and answer questions on the web? (NIER Track). ICSE '11, pages 804--807, 2011.
[39]
W. Wang and M. W. Godfrey. Detecting API usage obstacles: A study of ios and android developer questions. MSR '13, pages 61--64, Piscataway, NJ, USA, 2013. IEEE Press.
[40]
J. Zhang, M. S. Ackerman, and L. Adamic. Expertise networks in online communities: Structure and algorithms. WWW '07, pages 221--230, New York, NY, USA, 2007. ACM.
[41]
B. Zhou, X. Xia, D. Lo, C. Tian, and X. Wang. Towards more accurate content categorization of api discussions. Proceedings of the 22nd International Conference on Program Comprehension, pages 95--105. ACM, 2014.
[42]
M. Zibran, F. Eishita, and C. Roy. Useful, but usable? Factors affecting the usability of APIs. WCRE '11, pages 151--155, Oct 2011.

Cited By

View all
  • (2020)Keen2Act: Activity Recommendation in Online Social Collaborative PlatformsProceedings of the 28th ACM Conference on User Modeling, Adaptation and Personalization10.1145/3340631.3394884(308-312)Online publication date: 7-Jul-2020
  • (2019)Predicting good configurations for GitHub and stack overflow topic modelsProceedings of the 16th International Conference on Mining Software Repositories10.1109/MSR.2019.00022(84-95)Online publication date: 26-May-2019
  • (2018)Searching StackOverflow Questions with Multi-Faceted CategorizationProceedings of the 10th Asia-Pacific Symposium on Internetware10.1145/3275219.3275227(1-10)Online publication date: 16-Sep-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '15: Proceedings of the 12th Working Conference on Mining Software Repositories
May 2015
542 pages
ISBN:9780769555942

Sponsors

Publisher

IEEE Press

Publication History

Published: 16 May 2015

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '15
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Keen2Act: Activity Recommendation in Online Social Collaborative PlatformsProceedings of the 28th ACM Conference on User Modeling, Adaptation and Personalization10.1145/3340631.3394884(308-312)Online publication date: 7-Jul-2020
  • (2019)Predicting good configurations for GitHub and stack overflow topic modelsProceedings of the 16th International Conference on Mining Software Repositories10.1109/MSR.2019.00022(84-95)Online publication date: 26-May-2019
  • (2018)Searching StackOverflow Questions with Multi-Faceted CategorizationProceedings of the 10th Asia-Pacific Symposium on Internetware10.1145/3275219.3275227(1-10)Online publication date: 16-Sep-2018
  • (2018)Wisdom in Sum of PartsProceedings of the 10th ACM Conference on Web Science10.1145/3201064.3201067(77-86)Online publication date: 15-May-2018
  • (2016)Jumping through hoopsProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884790(935-946)Online publication date: 14-May-2016

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