What Do Client Developers Concern When Using Web APIs? An Empirical Study on Developer Forums and Stack Overflow

Popularity of service-oriented computing makes more and more companies and organizations provide their services through Web Application Program Interfaces (Web APIs). The Web APIs are considered to offer a convenient way to integrate web services to client applications. However, the integration process is often challenging. For example, updated Web APIs may be no longer compatible with the current version of client applications, thus break the client applications. To help the integration process, it is of significant interest to understand the challenges that are encountered by client developers. Developer forums and Stack Overflow are commonly used by client developers to seek help from fellow peers. In this paper, we mine both developer forums and Stack Overflow to find the common challenges encountered by client developers. We perform an empirical study on 32 Web APIs with a total of 92,471 discussions. To extract topics from all discussions, we apply a topic modeling technique called Latent Dirichlet Allocation (LDA). The results show that on average five dominant topics can cover at least 50% of questions regarding each Web API. We further investigate how topics evolve across Web APIs, and find five patterns. As a summary, our findings highlight a list of dominant concerns and persistent concerns for each Web API that Web API providers should pay more attention to.

[1]  Kevin A. Schneider,et al.  A discriminative model approach for suggesting tags automatically for Stack Overflow questions , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[2]  Jure Leskovec,et al.  Steering user behavior with badges , 2013, WWW.

[3]  Daniele Romano,et al.  Analyzing the Evolution of Web Services Using Fine-Grained Changes , 2012, 2012 IEEE 19th International Conference on Web Services.

[4]  Ahmed E. Hassan,et al.  What are developers talking about? An analysis of topics and trends in Stack Overflow , 2014, Empirical Software Engineering.

[5]  Eleni Stroulia,et al.  An Empirical Study on Web Service Evolution , 2011, 2011 IEEE International Conference on Web Services.

[6]  Hinrich Schütze,et al.  Introduction to information retrieval , 2008 .

[7]  Jun Li,et al.  How Does Web Service API Evolution Affect Clients? , 2013, 2013 IEEE 20th International Conference on Web Services.

[8]  Michael I. Jordan,et al.  Latent Dirichlet Allocation , 2001, J. Mach. Learn. Res..

[9]  Bing-Yu Sun,et al.  A Study on the Dynamic Time Warping in Kernel Machines , 2007, 2007 Third International IEEE Conference on Signal-Image Technologies and Internet-Based System.

[10]  Ralf Lämmel,et al.  Large-scale, AST-based API-usage analysis of open-source Java projects , 2011, SAC.

[11]  Andy Zaidman,et al.  Web API growing pains: Stories from client developers and their code , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[12]  Megan Squire "Should We Move to Stack Overflow?" Measuring the Utility of Social Media for Developer Support , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[13]  Alexander Serebrenik,et al.  Gender, Representation and Online Participation: A Quantitative Study of StackOverflow , 2012, 2012 International Conference on Social Informatics.

[14]  T. Warren Liao,et al.  Clustering of time series data - a survey , 2005, Pattern Recognit..

[15]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[16]  Mark Steyvers,et al.  Finding scientific topics , 2004, Proceedings of the National Academy of Sciences of the United States of America.

[17]  Christoph Treude,et al.  Crowd Documentation : Exploring the Coverage and the Dynamics of API Discussions on Stack Overflow , 2012 .

[18]  Shaohua Wang,et al.  How Do Developers React to RESTful API Evolution? , 2014, ICSOC.

[19]  Ali Mesbah,et al.  Mining questions asked by web developers , 2014, MSR 2014.

[20]  Stephen W. Thomas Mining software repositories using topic models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[21]  Emad Shihab,et al.  What are mobile developers asking about? A large scale study using stack overflow , 2016, Empirical Software Engineering.

[22]  Lena Mamykina,et al.  Design lessons from the fastest q&a site in the west , 2011, CHI.

[23]  Shriram Krishnamurthi,et al.  Using static analysis for Ajax intrusion detection , 2009, WWW '09.

[24]  Premkumar T. Devanbu,et al.  Using and Asking: APIs Used in the Android Market and Asked about in StackOverflow , 2013, SocInfo.

[25]  Reid Holmes,et al.  Making sense of online code snippets , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[26]  Charles A. Sutton,et al.  Why, when, and what: Analyzing Stack Overflow questions by topic, type, and code , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[27]  Evangelos E. Milios,et al.  Finding expert users in community question answering , 2012, WWW.