Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps

Published: 01 April 2015 Publication History
  • Get Citation Alerts
  • Abstract

    The mobile apps market is one of the fastest growing areas in the information technology. In digging their market share, developers must pay attention to building robust and reliable apps. In fact, users easily get frustrated by repeated failures, crashes, and other bugs; hence, they abandon some apps in favor of their competition. In this paper we investigate how the fault- and change-proneness of APIs used by Android apps relates to their success estimated as the average rating provided by the users to those apps. First, in a study conducted on 5,848 (free) apps, we analyzed how the ratings that an app had received correlated with the fault- and change-proneness of the APIs such app relied upon. After that, we surveyed 45 professional Android developers to assess (i) to what extent developers experienced problems when using APIs, and (ii) how much they felt these problems could be the cause for unfavorable user ratings. The results of our studies indicate that apps having high user ratings use APIs that are less fault- and change-prone than the APIs used by low rated apps. Also, most of the interviewed Android developers observed, in their development experience, a direct relationship between problems experienced with the adopted APIs and the users' ratings that their apps received.

    References

    [1]
    VisionMobile. (2013). Developer tools: The foundations of the app economy (developer economics 2013) [Online]. Available: http://www.visionmobile.com/product/developer-economics-2013-the-tools-report/
    [2]
    F. J. Jones, M. J. P. Anson, and F. J. Fabozzi, The Handbook of Traditional and Alternative Investment Vehicles: Investment Characteristics and Strategies. Hoboken, NJ, USA: Wiley, 2011.
    [3]
    VisionMobile. (2013). Developer economics q3 2013: State of the developer nation [Online]. Available: http://www.developereconomics.com/reports/q3-2013/
    [4]
    VisionMobile. (2012). The new mobile app economy (developer economics 2012) [Online]. Available: http://www.visionmobile.com/product/developer-economics-2012/
    [5]
    M. Robillard and R. DeLine, “A field study of API learning obstacles,” Empirical Softw. Eng. , vol. 16, pp. 703–732, 2012.
    [6]
    M. Zibran, “What makes APIs difficult to use?” Int. J. Comput. Sci. Netw. Security, vol. 8, no. 4, pp. 255 –261, 2008.
    [7]
    Y. Mileva, V. Dallmeier, M. Burger, and A. Zeller, “Mining trends of library usage,” in Proc. Joint Int. Annu. ERCIM Workshops Principles Softw. Evol. Softw. Evol. Workshops, 2009, pp. 57–62.
    [8]
    M. Zibran, F. Eishita, and C. Roy, “Useful, but usable? factors affecting the usability of APIs,” in Proc. 18th Working Conf. Reverse Eng., 2011, pp. 151–155.
    [9]
    J. Businge, A. Serebrenik, and M. van de Brand, “ Eclipse API usage: The good and the bad,” Softw. Quality J., pp. 1–35. (2013). [Online] Available: http://dx.doi.org/10.1007/s11219-013-9221-3
    [10]
    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,” in Proc. 9th Joint Meeting Found. Softw. Eng., 2013, pp. 477–487.
    [11]
    M. Fischer, M. Pinzger, and H. Gall, “Populating a release history database from version control and bug tracking systems,” in Proc. 19th Int. Conf. Softw. Maintenance, 2003, pp. 23–32.
    [12]
    M. L. Collard, H. H. Kagdi, and J. I. Maletic, “An xml-based lightweight c++ fact extractor,” in Proc. 11th Int. Workshop Program Comprehension, 2003, pp. 134–143.
    [13]
    J. Mayrand, C. Leblanc, and E. Merlo, “Experiment on the automatic detection of function clones in a software system using metrics,” in Proc. Int. Conf. Softw. Maintenance, 1996, pp. 244–253.
    [14]
    W. J. Conover, Practical Nonparametric Statistics, 3rd ed. Hoboken, NJ, USA: Wiley, 1998.
    [15]
    S. Holm, “A simple sequentially rejective Bonferroni test procedure,” Scandinavian J. Statist., vol. 6, pp. 65 –70, 1979.
    [16]
    R. J. Grissom and J. J. Kim, Effect Sizes for Research: A Broad Practical Approach, 2nd ed. Mahwah, New Jersey, USA : Lawrence Earlbaum Associates, 2005.
    [17]
    M. P. Robillard, and G. C. Murphy, “Designing robust Java programs with exceptions,” in Proc. 8th ACM SIGSOFT Int. Symp. Found. Softw. Eng.: 21st Century Appl., 2000, pp. 2– 10.
    [18]
    N. Chen, J. Lin, S. Hoi, X. Xiao, and B. Zhang, “AR-Miner: Mining informative reviews for developers from mobile app marketplace,” in Proc. 36th Int. Conf. Softw. Eng., 2014, pp. 767 –778.
    [19]
    R. M. Groves, Survey Methodology, 2nd ed. Hoboken, NJ, USA : Wiley, 2009.
    [20]
    A. J. Ko, R. DeLine, and G. Venolia, “ Information needs in collocated software development teams,” in Proc. 29th Int. Conf. Softw. Eng., 2007, pp. 344–353.
    [21]
    A. Hindle, C. Bird, T. Zimmermann, and N. Nagappan, “Do topics make sense to managers and developers?” Empirical Softw. Eng., pp. 1–37, 2014, http://dx.doi.org/10.1007/s10664-014-9312-1
    [22]
    A. N. Oppenheim, Questionnaire Design, Interviewing and Attitude Measurement. Greenville, SC, USA: Pinter Publishers, 1992.
    [23]
    I. Mojica Ruiz, M. Nagappan, B. Adams, and A. Hassan, “Understanding reuse in the Android market,” in Proc. 20th IEEE Int. Conf. Program Comprehension, 2012, pp. 113–122.
    [24]
    I. Mojica, B. Adms, M. Nagappan, S. Dienst, T. Berger, and A. Hassan, “A large scale empirical study on software reuse in mobile apps,” IEEE Softw., vol. 31, no. 2, pp. 78–86, Mar./Apr. 2014.
    [25]
    D. Syer, B. Adams, Y. Zou, and A. Hassan, “Exploring the development of micro-apps: A case study on the Blackberry and Android platforms,” in Proc. 11th IEEE Int. Working Conf. Source Code Anal. Manipulation, 2011, pp. 55–64.
    [26]
    C. Bird, A. Bachmann, E. Aune, J. Duffy, A. Bernstein, V. Filkov, and P. T. Devanbu, “Fair and balanced?: Bias in bug-fix datasets,” in Proc. 7th Joint Meeting Eur. Softw. Eng. Conf. ACM SIGSOFT Int. Symp. Found. Softw. Eng., 2009, pp. 121–130.
    [27]
    G. Bavota, R. Oliveto, M. Gethers, D. Poshyvanyk, and A. De Lucia, “Methodbook: Recommending move method refactorings via relational topic models,” IEEE Trans. Softw. Eng., vol. 40, no. 7, pp. 671–694, Jul. 2014.
    [28]
    G. Bavota, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. D. Lucia, “An empirical study on the developers’ perception of software coupling,” in Proc. 35th Int. Conf. Softw. Eng., 2013, pp. 692– 701.
    [29]
    G. Canfora, M. Di Penta, R. Oliveto, and S. Panichella, “Who is going to mentor newcomers in open source projects?” in Proc. 20th ACM SIGSOFT Symp. Found. Softw. Eng., 2012, p. 44.
    [30]
    B. Dagenais, H. Ossher, R. K. E. Bellamy, M. P. Robillard, and J. de Vries, “Moving into a new software project landscape, ” in Proc. 32nd ACM/IEEE Int. Conf. Softw. Eng., 2010, pp. 275–284.
    [31]
    H. Khalid, E. Shihab, M. Nagappan, and A. Hassan, “What do mobile app users complain about? A study on free iOS apps,” IEEE Softw., (2014). [Online]. Available: http://dx.doi.org/10.1109/MS.2014.50
    [32]
    E. Shihab, Y. Kamei, and P. Bhattacharya, “ Mining challenge 2012: The Android platform,” in Proc. 9th IEEE Working Conf. Mining Softw. Repositories, 2012, pp. 112–115.
    [33]
    L. Baytuk, M. Herpich, S. Camtepe, K. Raddatz, A. Schmidt, and S. Albayrak, “Using static analysis for automatic assessment and mitigation of unwanted and malicious activities within Android applications,” in Proc. 6th Int. Conf. Malicious Unwanted Softw., 2011, pp. 66–72.
    [34]
    T. Isohara, K. Takemori, and A. Kubota, “ Kernel-based behavior analysis for Android malware detection,” in Proc. 7th Int. Conf. Comput. Intell. Security, 2011, pp. 1011–1015.
    [35]
    T.-E. Wei, C.-H. Mao, A. Heng, H.-M. Lee, H.-T. Wang, and D.-J. Wu, “Android malware detection via a latent network behavior analysis,” in Proc. IEEE 11th Int. Conf. Trust, Security Privacy Comput. Commun., 2012, pp. 1251 –1258.
    [36]
    M. Alazab, V. Monsamy, L. Batten, P. Lantz, and T. Ronghua, “Analysis of malicious and benign Android applications,” in Proc. 32nd Int. Conf. Distrib. Comput. Syst. Workshops, 2012, pp. 608–616.
    [37]
    R. Jhonson, W. Zhaohui, C. Gagnon, and A. Stavrou, “Analysis of Android applications’ permissions,” in Proc. IEEE 6th Int. Conf. Softw. Security Rel. Companion, 2012, pp. 45–46.
    [38]
    Y. Zhou and X. Jiang, “Dissecting Android malware: Characterization and evolution,” in Proc. IEEE Symp. Security Privacy, 2012, pp. 95–109.
    [39]
    A. Shabtai, Y. Fledel, and Y. Elovici, “Automated static code analysis for classifying Android applications using machine learning,” in Proc. Int. Conf. Comput. Intell. Security, 2010, pp. 329–333.
    [40]
    B. Sanz, I. Santos, C. Laorden, X. Ugarte-Pedrero, and P. Bringas, “On the automatic categorization of Android applications, ” in Proc. IEEE Consumer Commun. Netw. Conf., 2012, pp. 149 –153.
    [41]
    A. Dresnos, “Android: Static analysis using similarity distance,” in Proc. 45th Hawaii Int. Conf. Syst. Sci., 2012, pp. 5394– 5403.
    [42]
    R. Minelli and M. Lanza, “Software analytics for mobile applications: Insights and lessons learned,” in Proc. 17th Eur. Conf. Softw. Maintenance Reeng., 2013, pp. 144– 153.
    [43]
    M. Syer, M. Nagappan, B. Adms, and A. Hassan, “Revisiting prior empirical findings for mobile apps: An empirical case study on the 15 most popular open-source Android apps,” in Proc. Conf. Center Adv. Studies Collaborative Res., 2013, pp. 283– 297.
    [44]
    M. Linares-Vásquez, A. Holtzhauer, C. Bernal-Cárdenas, and D. Poshyvanyk, “ Revisiting Android reuse studies in the context of code obfuscation and library usages,” in Proc. 11th IEEE Working Conf. Mining Softw. Repositories, 2014, pp. 242 –251.
    [45]
    T. McDonnell, B. Ray, and M. Kim, “An empirical study of API stability and adoption in the Android ecosystem,” in Proc. 29th IEEE Int. Conf. Softw. Maintenance, 2013, pp. 70–79.
    [46]
    J. Davies, D. M. German, M. W. Godfrey, and A. J. Hindle, “Software bertillonage: Finding the provenance of an entity,” in Proc. IEEE Working Conf. Mining Softw. Repositories, 2011, pp. 183–192.
    [47]
    J. Davies, D. M. German, M. W. Godfrey, and A. Hindle, “Software bertillonage determining the provenance of software development artifacts,” Empirical Softw. Eng. , vol. 18, pp. 1195–1237, 2012.
    [48]
    I. Mojica, M. Nagappan, B. Adams, T. Berger, S. Dienst, and A. Hassan, “Impact of ad libraries on ratings of android mobile apps,” IEEE Softw., vol. 31, no. 6, pp. 86–92, Nov./Dec. 2014.
    [49]
    L. Martie, V. Palepu, H. Sajnani, and C. Lopes, “Trendy bugs: Topic trends in the Android bug reports,” in Proc. 9th IEEE Working Conf. Mining Softw. Repositories, 2012, pp. 120–123.
    [50]
    V. Sinha, S. Mani, and M. Gupta, “Mince: Mining change history of Android project,” in Proc. 9th IEEE Working Conf. Mining Softw. Repositories, 2012, pp. 132–135.
    [51]
    M. Assaduzzaman, M. Bullock, C. Roy, and K. Schneider, “Bug introducing changes: A case study with Android,” in Proc. 9th IEEE Working Conf. Mining Softw. Repositories, 2012, pp. 116–119.
    [52]
    D. Dig and R. Johnson, “ How do APIs evolve? A story of refactoring,” J. Softw. Maintenance Evol.: Res. Practice, vol. 18, pp. 83–107, 2006.
    [53]
    D. Hou and X. Yao, “ Exploring the intent behind API evolution: A case study,” in Proc. 18th Working Conf. Reverse Eng., 2011, pp. 131–140.
    [54]
    S. Raemaekers, A. van Deursen, and J. Visser, “ Measuring software library stability through historical version analysis,” in Proc. 8th IEEE Int. Conf. Softw. Maintenance, 2012, pp. 378– 387.
    [55]
    B. Dagenais, and M. P. Robillard, “Recommending adaptive changes for framework evolution,” in Proc. 30th Int. Conf. Softw. Eng., 2008, pp. 481–490 .
    [56]
    J. Businge, A. Serebrenik, and M. van den Brand, “ Survival of eclipse third-party plug-ins,” in Proc. Int. Conf. Softw. Maintenance, 2012, pp. 368–377.
    [57]
    M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, R. Oliveto, M. D. Penta, and D. Poshyvanyk, “Mining energy-greedy API usage patterns in Android apps: An empirical study,” in Proc. 11th IEEE Working Conf. Mining Softw. Repositories, 2014, pp. 2–11.
    [58]
    M. Linares-Vásquez, G. Bavota, M. D. Penta, R. Oliveto, and D. Poshyvanyk, “How do API changes trigger stack overflow discussions? a study on the android SDK,” in Proc. 22nd IEEE Int. Conf. Program Comprehension, 2014, pp. 83–94.
    [59]
    J. Businge, A. Serebrenik, and M. van den Brand, “ Compatibility prediction of Eclipse third-party plug-ins in new Eclipse releases,” in Proc. 12th IEEE Int. Working Conf. Source Code Anal. Manipulation, 2012, pp. 164–173.
    [60]
    C. McMillan, M. Grechanik, and D. Poshyvanyk, “ Detecting similar software applications,” in Proc. 34th Int. Conf. Softw. Eng., 2012, pp. 364–374.
    [61]
    C. McMillan, M. Grechanik, D. Poshyvanyk, C. Fu, and Q. Xie, “Exemplar: A source code search engine for finding highly relevant applications,” IEEE Trans. Softw. Eng., vol. 38, no. 5, pp. 1069–1087, Sep./Oct. 2012.
    [62]
    C. McMillan, N. Hariri, D. Poshyvanyk, J. Cleland-Huang, and B. Mobasher, “Recommending source code for use in rapid software prototypes,” in Proc. 34th IEEE/ACM Int. Conf. Softw. Eng., 2012, pp. 848–858.
    [63]
    E. Moritz, M. Linares-Vásquez, D. Poshyvanyk, C. McMillan, M. Grechanik, and M. Gethers, “Export: Detecting and visualizing API usages in large source code repositories, ” in Proc. 28th IEEE/ACM Int. Conf. Automat. Softw. Eng., 2013, pp. 11–15.
    [64]
    D. Cubranic and G. Murphy, “Hipikat: Recommending pertinent software development artifacts,” in Proc. 25th Int. Conf. Softw. Eng., 2003, pp. 408–418.
    [65]
    R. Holmes and A. Begel, “Deep intellisense: A tool for rehydrating evaporated information,” in Proc. Int. Working Conf. Mining Softw. Repositories, 2008, pp. 23– 26.
    [66]
    J. Cordeiro, B. Antunes, and P. Gomes, “ Context-based recommendation to support problem solving in software development,” in Proc. 3rd Workshop Recommendation Syst. Soft. Eng., 2012, pp. 85–89.
    [67]
    P. Rigby and M. Robillard, “Discovering essential code elements in informal documentation,” in Proc. 35th Int. Conf. Softw. Eng., 2013, pp. 832–841.
    [68]
    W. Takuya and H. Masuhara, “A spontaneous code recommendation tool based on associative search,” in Proc. 3rd Int. Workshop Search-Driven Softw. Develop., 2011, pp. 17– 20.
    [69]
    M. Rahman, S. Yeasmin, and C. Roy, “Towards a context-aware IDE-based meta search engine for recommendation about programming errors and exceptions, ” in Proc. IEEE Conf. Softw. Maintenance, Reeng., Reverse Eng., 2014, pp. 194–203.
    [70]
    M. Linares-Vásquez, “Supporting evolution and maintenance of Android apps,” in Proc. Int. Conf. Softw. Eng., 2014, pp. 714 –717.

    Cited By

    View all
    • (2024)GuiEvo: Automated Evolution of Mobile App UIsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644936(335-347)Online publication date: 15-Apr-2024
    • (2024)Method-level Bug Prediction: Problems and PromisesACM Transactions on Software Engineering and Methodology10.1145/364033133:4(1-31)Online publication date: 13-Jan-2024
    • (2024)Customer satisfaction analysis with Saudi Arabia mobile banking apps: a hybrid approach using text mining and predictive learning techniquesNeural Computing and Applications10.1007/s00521-023-09400-436:11(6005-6023)Online publication date: 1-Apr-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Software Engineering
    IEEE Transactions on Software Engineering  Volume 41, Issue 4
    April 2015
    98 pages

    Publisher

    IEEE Press

    Publication History

    Published: 01 April 2015

    Author Tags

    1. API changes
    2. Mining software repositories
    3. empirical studies
    4. android

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)GuiEvo: Automated Evolution of Mobile App UIsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644936(335-347)Online publication date: 15-Apr-2024
    • (2024)Method-level Bug Prediction: Problems and PromisesACM Transactions on Software Engineering and Methodology10.1145/364033133:4(1-31)Online publication date: 13-Jan-2024
    • (2024)Customer satisfaction analysis with Saudi Arabia mobile banking apps: a hybrid approach using text mining and predictive learning techniquesNeural Computing and Applications10.1007/s00521-023-09400-436:11(6005-6023)Online publication date: 1-Apr-2024
    • (2023)Automatically Detecting Incompatible Android APIsACM Transactions on Software Engineering and Methodology10.1145/362473733:1(1-33)Online publication date: 23-Nov-2023
    • (2023)CONAN: Statically Detecting Connectivity Issues in Android ApplicationsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613097(2182-2186)Online publication date: 30-Nov-2023
    • (2023)The Co-evolution of the WordPress Platform and Its PluginsACM Transactions on Software Engineering and Methodology10.1145/353370032:1(1-24)Online publication date: 13-Feb-2023
    • (2023)Test Report Generation for Android App Testing Via Heterogeneous Data AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2023.323724749:5(3032-3051)Online publication date: 1-May-2023
    • (2023)Translating Video Recordings of Complex Mobile App UI Gestures into Replayable ScenariosIEEE Transactions on Software Engineering10.1109/TSE.2022.319227949:4(1782-1803)Online publication date: 1-Apr-2023
    • (2023)Evaluating pre-trained models for user feedback analysis in software engineering: a study on classification of app-reviewsEmpirical Software Engineering10.1007/s10664-023-10314-x28:4Online publication date: 23-May-2023
    • (2023)Vulnerability diffusions in software product networksJournal of Operations Management10.1002/joom.127069:8(1342-1370)Online publication date: 16-Jul-2023
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media