The influence of App churn on App success and StackOverflow discussions

Gauging the success of software systems has been difficult in the past as there was no uniform measure. With mobile Application (App) Stores, users rate each App according to a common rating scheme. In this paper, we study the impact of App churn on the App success through the analysis of 154 free Android Apps that have a total of 1.2k releases. We provide a novel technique to extract Android API elements used by Apps that developers change between releases. We find that high App churn leads to lower user ratings. For example, we find that on average, per release, poorly rated Apps change 140 methods compared to the 82 methods changed by positively rated Apps. Our findings suggest that developers should not release new features at the expense of churn and user ratings. We also investigate the link between how frequently API classes and methods are changed by App developers relative to the amount of discussion of these code elements on StackOverflow. Our findings indicate that classes and methods that are changed frequently by App developers are in more posts on StackOverflow. We add to the growing consensus that StackOverflow keeps up with the documentation needs of practitioners.

[1]  M. Godfrey,et al.  Bertillonage Determining the provenance of software development artifacts , 2011 .

[2]  Ahmed E. Hassan,et al.  Using fuzzy code search to link code fragments in discussions to source code , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[3]  Michael W. Godfrey,et al.  Software bertillonage: finding the provenance of an entity , 2011, MSR '11.

[4]  Romain Robbes,et al.  Linking e-mails and source code artifacts , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  Gabriele Bavota,et al.  How do API changes trigger stack overflow discussions? a study on the Android SDK , 2014, ICPC 2014.

[6]  B. M. Brown,et al.  Practical Non-Parametric Statistics. , 1981 .

[7]  Cristina V. Lopes,et al.  Trendy bugs: Topic trends in the Android bug reports , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[8]  Martin P. Robillard,et al.  Recovering traceability links between an API and its learning resources , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[9]  Yuval Elovici,et al.  Automated Static Code Analysis for Classifying Android Applications Using Machine Learning , 2010, 2010 International Conference on Computational Intelligence and Security.

[10]  Gabriele Bavota,et al.  API change and fault proneness: a threat to the success of Android apps , 2013, ESEC/FSE 2013.

[11]  K. Goulden,et al.  Effect Sizes for Research: A Broad Practical Approach , 2006 .

[12]  Martin P. Robillard,et al.  Discovering essential code elements in informal documentation , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[13]  Foutse Khomh,et al.  Do faster releases improve software quality? An empirical case study of Mozilla Firefox , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[14]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

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

[16]  Ahmed E. Hassan,et al.  What Do Mobile App Users Complain About? , 2015, IEEE Software.

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

[18]  S. Holm A Simple Sequentially Rejective Multiple Test Procedure , 1979 .

[19]  A. Hassan,et al.  What Do Mobile App Users Complain About ? A Study on Free iOS Apps , 2014 .

[20]  Igor Santos,et al.  On the automatic categorisation of android applications , 2012, 2012 IEEE Consumer Communications and Networking Conference (CCNC).

[21]  R. Grissom,et al.  Effect sizes for research: A broad practical approach. , 2005 .

[22]  Ahmed E. Hassan,et al.  Understanding reuse in the Android Market , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[23]  Daniel M. Germán Using Software Distributions to Understand the Relationship among Free and Open Source Software Projects , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[24]  Michael W. Godfrey,et al.  Software Bertillonage , 2012, Empirical Software Engineering.

[25]  Chanchal Kumar Roy,et al.  Bug introducing changes: A case study with Android , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).