Empirical Software Engineering

, Volume 22, Issue 6, pp 3088–3116 | Cite as

A study of the relation of mobile device attributes with the user-perceived quality of Android apps

  • Ehsan Noei
  • Mark D. Syer
  • Ying Zou
  • Ahmed E. Hassan
  • Iman Keivanloo


The number of mobile applications (apps) and mobile devices has increased considerably over the past few years. Online app markets, such as the Google Play Store, use a star-rating mechanism to quantify the user-perceived quality of mobile apps. Users may rate apps on a five point (star) scale where a five star-rating is the highest rating. Having considered the importance of a high star-rating to the success of an app, recent studies continue to explore the relationship between the app attributes, such as User Interface (UI) complexity, and the user-perceived quality. However, the user-perceived quality reflects the users’ experience using an app on a particular mobile device. Hence, the user-perceived quality of an app is not solely determined by app attributes. In this paper, we study the relation of both device attributes and app attributes with the user-perceived quality of Android apps from the Google Play Store. We study 20 device attributes, such as the CPU and the display size, and 13 app attributes, such as code size and UI complexity. Our study is based on data from 30 types of Android mobile devices and 280 Android apps. We use linear mixed effect models to identify the device attributes and app attributes with the strongest relationship with the user-perceived quality. We find that the code size has the strongest relationship with the user-perceived quality. However, some device attributes, such as the CPU, have stronger relationships with the user-perceived quality than some app attributes, such as the number of UI inputs and outputs of an app. Our work helps both device manufacturers and app developers. Manufacturers can focus on the attributes that have significant relationships with the user-perceived quality. Moreover, app developers should be careful about the devices for which they make their apps available because the device attributes have a strong relationship with the ratings that users give to apps.


Mobile applications Software attributes Device attributes User-perceived quality 


  1. Albrecht AJ, Gaffney Jr JE (1983) Software function, source lines of code, and development effort prediction: a software science validation. IEEE Trans on Softw Eng 9(6):639–648CrossRefGoogle Scholar
  2. Apple (2015) itunes. https://www.apple.com/itunes/
  3. Balasubramanian N, Balasubramanian A, Venkataramani A (2009) Energy consumption in mobile phones: a measurement study and implications for network applications. In: Proceedings of the 9th ACM SIGCOMM conference on Internet measurement, ACM, pp 280–293Google Scholar
  4. Bandi RK, Vaishnavi K, Turk DE (2003) Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans Softw Eng 29(1):77–87CrossRefGoogle Scholar
  5. Banker RD, Datar SM, Kemerer CF, Zweig D (1993) Software complexity and maintenance costs. Commun ACM 36(11):81–94CrossRefGoogle Scholar
  6. Bavota G, Linares-Vasquez M, Bernal-Cardenas C E, Penta M D, Oliveto R, Poshyvanyk D (2015) The impact of api change-and fault-proneness on the user ratings of android apps. IEEE Trans Softw Eng 41(4):384–407CrossRefGoogle Scholar
  7. Chidamber S R, Kemerer C F (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493CrossRefGoogle Scholar
  8. Cliff N (1993) Dominance statistics: Ordinal analyses to answer ordinal questions. Psychol Bull 114(3):494CrossRefGoogle Scholar
  9. Coppick J C, Cheatham T J (1992) Software metrics for object-oriented systems. In: Proceedings of the 1992 ACM annual conference on communications, ACM, pp 317–322Google Scholar
  10. Cormen T H, Leiserson C E, Rivest RL, Stein C (2009) Introduction to algorithms. MIT pressGoogle Scholar
  11. Costa-Montenegro E, Barragáns-Martínez A B, Rey-López M (2012) Which app? a recommender system of applications in markets: implementation of the service for monitoring users’ interaction. Expert Syst Appl 39(10):9367–9375CrossRefGoogle Scholar
  12. Dex2jar J (2016) Java decompiler. http://jd.benow.com/
  13. Draper NR, Smith H, Pownell E (1966) Applied regression analysis, vol 3. Wiley, New YorkGoogle Scholar
  14. Dunn O J (1964) Multiple comparisons using rank sums. Technometrics 6 (3):241–252CrossRefGoogle Scholar
  15. Faraway JJ (2005) Extending the linear model with R: generalized linear, mixed effects and nonparametric regression models. CRC pressGoogle Scholar
  16. Galvis Carreño LV, Winbladh K (2013) Analysis of user comments: an approach for software requirements evolution. In: Proceedings of the 35th international conference on software engineering, IEEE, ICSE ’13, pp 582–591Google Scholar
  17. Google (2015b) Google play store. http://play.google.com/
  18. Google (2015d) See your app’s ratings & reviews. https://support.google.com/googleplay/android-developer/answer/138230
  19. Google (2015e) Supporting multiple screens. http://developer.android.com/guide/practices/
  20. Han D, Zhang C, Fan X, Hindle A, Wong K, Stroulia E (2012) Understanding android fragmentation with topic analysis of vendor-specific bugs. In: Proceedings of the 19th working conference on reverse engineering, IEEE, pp 83–92Google Scholar
  21. Harbach M, Hettig M, Weber S, Smith M (2014) Using personal examples to improve risk communication for security & privacy decisions. In: Proceedings of the 32nd annual ACM conference on human factors in computing systems, ACM, pp 2647–2656Google Scholar
  22. Harman M, Jia Y, Zhang Y (2012) App store mining and analysis: Msr for app stores. In: Proceedings of the 9th IEEE working conference on mining software repositories, IEEE, MSR ’12, pp 108–111Google Scholar
  23. Harrell F E (2001) Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis. SpringerGoogle Scholar
  24. Hassenzahl M, Tractinsky N (2006) User experience - a research agenda. Behav Inform Technol 25(2):91–97CrossRefGoogle Scholar
  25. Iacob C, Harrison R (2013) Retrieving and analyzing mobile apps feature requests from online reviews. In: Proceedings of the 10th working conference on mining software repositories, IEEE, MSR ’13, pp 41–44Google Scholar
  26. Ickin S, Wac K, Fiedler M, Janowski L, Hong J H, Dey A K (2012) Factors influencing quality of experience of commonly used mobile applications. IEEE Commun Mag 50(4):48–56CrossRefGoogle Scholar
  27. Dex2ja J (2016) Java decompiler. http://jd.benow.com/
  28. Johnson R E, Foote B (1988) Designing reusable classes. Object-oriented Program 1(2):22–35Google Scholar
  29. Kaup F, Hausheer D (2013) Optimizing energy consumption and qoe on mobile devices. In: Proceedings of the 21st IEEE international conference on network protocols, IEEE, pp 1–3Google Scholar
  30. Khalid H, Nagappan M, Shihab E, Hassan AE (2014) Prioritizing the devices to test your app on: a case study of android game apps. In: Proceedings of the 22nd ACM SIGSOFT international symposium on the foundations of software engineering, pp 370–379Google Scholar
  31. Kim HW, Lee H, Son J (2011) An exploratory study on the determinants of smartphone app purchase. In: Proceedings of the 11th international decision science institute and the 16th Asia pacific decision sciences institute joint meetingGoogle Scholar
  32. Korhonen H, Arrasvuori J, Väänänen-Vainio-Mattila K (2010) Analysing user experience of personal mobile products through contextual factors. In: Proceedings of the 9th international conference on mobile and ubiquitous multimedia, ACM, New York, NY, USA, MUM ’10, pp 11:1–11:10Google Scholar
  33. Kruskal W H, Wallis W A (1952) Use of ranks in one-criterion variance analysis. J Am Stat Assoc 47(260):583–621CrossRefMATHGoogle Scholar
  34. Lawson S (2009) Android market needs more filters, t-mobile says. http://www.pcworld.com/article/161410/article.html
  35. Li D, Halfond WG (2014) An investigation into energy-saving programming practices for android smartphone app development. In: Proceedings of the 3rd international workshop on green and sustainable software, ACM, pp 46–53Google Scholar
  36. Li D, Hao S, Gui J, Halfond WG (2014) An empirical study of the energy consumption of android applications. In: Proceedings of the 30th IEEE international conference on software maintenance and evolution, IEEE, pp 121–130Google Scholar
  37. Li W, Henry S (1993) Object-oriented metrics that predict maintainability. J Syst Softw 23(2):111–122CrossRefGoogle Scholar
  38. Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) Api change and fault proneness: a threat to the success of android apps. In: Proceedings of the 9th joint meeting on european software engineering and foundations of software engineering, ACM, ESEC/FSE 2013, pp 477–487Google Scholar
  39. Martin W, Harman M, Jia Y, Sarro F, Zhang Y (2015) The app sampling problem for app store mining. In: Proceedings of the 12th working conference on mining software repositories, IEEE, pp 123–133Google Scholar
  40. Martin W, Sarro F, Jia Y, Zhang Y, Harman M (to appear) A survey of app store analysis for software engineering. IEEE Trans Softw EngGoogle Scholar
  41. McCabe T J (1976) A complexity measure. IEEE Trans Softw Eng SE 2(4):308–320MathSciNetCrossRefMATHGoogle Scholar
  42. McDonnell T, Ray B, Kim M (2013) An empirical study of api stability and adoption in the android ecosystem. In: Proceedings of the 29th IEEE international conference on software maintenance, IEEE, pp 70–79Google Scholar
  43. Miecznikowski J, Hendren L (2002) Decompiling java bytecode: problems, traps and pitfalls. In: Horspool R (ed) Proceedings of the compiler construction, lecture notes in computer science, vol 2304. Springer, Berlin Heidelberg, pp 111–127Google Scholar
  44. Moran K, Linares-Vásquez M, Bernal-Cárdenas C, Poshyvanyk D (2015) Auto-completing bug reports for android applications. In: Proceedings of the 10th joint meeting on european software engineering and foundations of software engineering, ACM, New York, NY, USA, ESEC/FSE 2015, pp 673–686Google Scholar
  45. Nakagawa S, Schielzeth H (2013) A general and simple method for obtaining r2 from generalized linear mixed-effects models. Methods Ecol Evol 4(2):133–142CrossRefGoogle Scholar
  46. Nielson F, Nielson HR, Hankin C (1999) Principles of Program Analysis. Springer-Verlag New York, Inc., Secaucus, NJ, USACrossRefMATHGoogle Scholar
  47. Noei E, Syer MD, Zou Y, Hassan AE, Keivanloo I (2016) A study of the relation of mobile device attributes with the user-perceived quality of android apps, http://sailhome.cs.queensu.ca/replication/mobile_device_attributes/
  48. Pagano D, Maalej W (2013) User feedback in the appstore: an empirical study. In: Proceedings of the 21st IEEE international requirements engineering conference, IEEE, pp 125–134Google Scholar
  49. Pinheiro J, Bates D (2006) Mixed-effects models in S and S-PLUS. Springer Science & Business MediaGoogle Scholar
  50. Pinheiro J, Bates D, DebRoy S, Sarkar D, et al. (2007) Linear and nonlinear mixed effects models. R package version 3:57Google Scholar
  51. Selenium (2014) Selenium - web browser automation. http://seleniumhq.org/
  52. Shabtai A, Fledel Y, Elovici Y (2010) Automated static code analysis for classifying android applications using machine learning. In: Proceedings of the 2010 international conference on computational intelligence and security. IEEE, pp 329–333Google Scholar
  53. Shull F, Singer J, Sjøberg DI (2007) Guide to Advanced Empirical Software Engineering. Springer-Verlag New York, Inc., Secaucus, NJ, USAGoogle Scholar
  54. Stats A (2016) Number of android applications. http://www.appbrain.com/stats/number-of-android-apps
  55. Syer MD, Adams B, Zou Y, Hassan AE (2011) Exploring the development of micro-apps: a case study on the blackberry and android platforms. In: Proceedings of the 11th IEEE international working conference on source code analysis and manipulation, IEEE, pp 55–64Google Scholar
  56. Syer MD, Nagappan M, Hassan AE, Adams B (2013) Revisiting prior empirical findings for mobile apps: an empirical case study on the 15 most popular open-source android apps. In: Proceedings of the conference of the center for advanced studies on collaborative research, pp 283–297Google Scholar
  57. Syer M D, Nagappan M, Adams B, Hassan A E (2014) Studying the relationship between source code quality and mobile platform dependence. Softw Qual 23(3):485–508CrossRefGoogle Scholar
  58. Taba SES, Keivanloo I, Zou Y, Ng JW, Ng T (2014) An exploratory study on the relation between user interface complexity and the perceived quality. In: Proceedings of the 14th international conference on Web engineering, pp 370–379Google Scholar
  59. Wasserman AI (2010) Software engineering issues for mobile application development. In: Proceedings of the FSE/SDP workshop on future of software engineering research, ACM, New York, NY, USA, FoSER ’10, pp 397–400Google Scholar
  60. Winter B (2013) A very basic tutorial for performing linear mixed effects analyses. arXiv:13085499
  61. Zuur A, Ieno E N, Walker N, Saveliev AA, Smith GM (2009) Mixed effects models and extensions in ecology with R. Springer Science & Business MediaGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  • Ehsan Noei
    • 1
  • Mark D. Syer
    • 2
  • Ying Zou
    • 1
  • Ahmed E. Hassan
    • 2
  • Iman Keivanloo
    • 1
  1. 1.Department of Electrical and Computer EngineeringQueen’s UniversityKingstonCanada
  2. 2.School of ComputingQueen’s UniversityKingstonCanada

Personalised recommendations