On the Impact of API Change and Fault Proneness on the Ratings of Android Apps - TSE 2014 Online Appendix

This web page is a companion to our TSE submission entitled "On the Impact of API Change and Fault Proneness on the Ratings of Android Apps".


1. Data


Android apps

The list of considered apps is available here in html version or as a CSV file. We downloaded the apps from Google play by using a java program that is available for downloading at the additional tools section.

The list of apps we used to compute the ratings of paid apps is here (Figure 2 in the paper).


APIs and changes:

For extracting jar files from the APK we used the Dex2jar tool. The list of APIs used by the apps where extracted from the jar files by using JClassInfo; the list of API calls to Android APIs can be downloaded here, and the list of API calls to third party libraries from each app can be downloaded here (the list of third party libraries we looked for on the apps is here).

For extracting the change and bug data from the APIs repositories we used the code analyzer from the Markos Project. The change and bug data from the Android APIs can be downloaded here, and the change and bug data from the third party APIs can be downloaded here.


Additional Analysis:

Alternative analysis (PDF) made in the context of “Study I: Mining Software Repositories”, presented in Section 2 of the paper.


Working data set for our R script

Script in R for replication purposes. The script uses this working data set.


Android Developers Survey

The text of the email used to contact the developers is here.



2. Additional tools



3. Results

  • RQ1- Does the fault-proneness of APIs affect the success of Android Apps?
    Boxplots of average number of bug fixes in API classes used by apps having different levels of success PDF.

  • RQ2- Does the change-proneness of APIs affect the success of Android Apps?
    Boxplots of change-proneness in API classes used by apps having different levels of success: methods, methods signature, public methods, public methods signature.

    Boxplots of changes related to method thrown exceptions in API classes used by apps having differ- ent levels of success: methods, public methods.

  • RQ3- To what extent Android developers experience problems when using APIs?
    Boxplots of answers provided by developers to questions related to their experience: experience, developed apps, downloads, average rating.

    Boxplots of answers provided by developers to questions 7-10, assessing the factors nega- tively impacting the apps success (1=very low impact, . . . , 5=very strong impact): PDF.

    Percentage of developers indicating each of the considered “reasons” among those most frequently causing bugs/crashes in the apps: PDF.

    Severity assigned by developers to the impact of problematic APIs on the success of your apps (1=very low, . . . , 5=very high): PDF.


*Authors

  • Gabriele Bavota - University of Sannio, Benevento, Italy.
    Email: gbavota at unisannio dot it
  • Mario Linares-Vásquez - The College of William and Mary, VA, USA.
    E-mail: mlinarev at wm dot edu
  • Carlos Bernal-Cárdenas - The College of William and Mary, VA, USA
    Email: cebernal at wm dot edu
  • Rocco Oliveto - University of Molise, Pesche (IS), Italy.
    E-mail: rocco.oliveto at unimol dot it
  • Massimiliano Di Penta - University of Sannio, Benevento, Italy.
    Email: dipenta at unisannio dot it
  • Denys Poshyvanyk - The College of William and Mary.
    E-mail: denys at cs dot wm dot edu