Mining questions asked by web developers

Modern web applications consist of a significant amount of client- side code, written in JavaScript, HTML, and CSS. In this paper, we present a study of common challenges and misconceptions among web developers, by mining related questions asked on Stack Over- flow. We use unsupervised learning to categorize the mined questions and define a ranking algorithm to rank all the Stack Overflow questions based on their importance. We analyze the top 50 questions qualitatively. The results indicate that (1) the overall share of web development related discussions is increasing among developers, (2) browser related discussions are prevalent; however, this share is decreasing with time, (3) form validation and other DOM related discussions have been discussed consistently over time, (4) web related discussions are becoming more prevalent in mobile development, and (5) developers face implementation issues with new HTML5 features such as Canvas. We examine the implications of the results on the development, research, and standardization communities.

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

[2]  Karthik Pattabiraman,et al.  JavaScript Errors in the Wild: An Empirical Study , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[3]  Nico L. U. van Meeteren, Paul J. M. Helders Why? , 2000 .

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

[5]  Joseph A. Konstan,et al.  Evolution of Experts in Question Answering Communities , 2012, ICWSM.

[6]  Ali Mesbah,et al.  Automated analysis of CSS rules to support style maintenance , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[7]  Xiangyu Zhang,et al.  Statically locating web application bugs caused by asynchronous calls , 2011, WWW.

[8]  Alessandro Orso,et al.  X-PERT: Accurate identification of cross-browser issues in web applications , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[9]  Mehran Sahami,et al.  Text Mining: Classification, Clustering, and Applications , 2009 .

[10]  Ali Mesbah,et al.  Automated cross-browser compatibility testing , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

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

[13]  Senthil Mani,et al.  Exploring activeness of users in QA forums , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[14]  Prateek Saxena,et al.  An Empirical Analysis of XSS Sanitization in Web Application Frameworks , 2011 .

[15]  Premkumar T. Devanbu,et al.  Asking for (and about) permissions used by Android apps , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[16]  Ali Mesbah,et al.  An Empirical Study of Client-Side JavaScript Bugs , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[17]  C. Elkan,et al.  Topic Models , 2008 .

[18]  Fatemeh Riahi Finding Expert Users in Community Question Answering Services Using Topic Models , 2012 .

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

[20]  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).

[21]  David Sin,et al.  Mobile Web Apps - The Non-programmer's Alternative to Native Applications , 2012, 2012 5th International Conference on Human System Interactions.

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

[23]  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).

[24]  Alexander Serebrenik,et al.  Gender, Representation and Online Participation: A Quantitative Study of StackOverflow , 2012, SocialInformatics.

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

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

[27]  Bogdan Dit,et al.  An exploratory analysis of mobile development issues using stack overflow , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

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

[29]  Benjamin Livshits,et al.  JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications , 2010, WebApps.

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