Abstract
Recently, the number of Android apps has witnessed an ever-increase that is becoming a ubiquitous presence in our daily lives. These apps are evolving fast by offering new characteristics and functionalities. These ongoing improvements often affect app quality due to bad design practices and poor coding, known as Android code smells. In this context, the recent works highlighted the importance of the design quality of mobile application. To this end, many methods and tools are proposed to assess the quality of graphical user interface (GUI) and source code of Android apps, such as heuristic evaluation and field-testing, etc. In addition, the features and design of these Android apps may introduce bad design practices, that can highly decrease the quality and the performance of these Android applications. In this paper, we empirically study the diffuseness of GUI aesthetic defects and the code smells of the presentation layer of Android apps. Then, we investigate the impact of the appearance of code smells on the aesthetic of Android apps. To this end, we use two evaluation tools. The first one is called PLAIN which consists of detecting aesthetic defects by measuring a set of structural metrics of GUI. The second one is Android UI Detector which aims to identify the presentation layer code smells of Android apps. This analysis study is based on 8480 GUIs of 120 Android apps. The obtained results confirm that code smells of the presentation layer of Android apps have an impact on GUI aesthetic defects.
Access this article
We’re sorry, something doesn't seem to be working properly.
Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abbes, M., Khomh, F, Gueheneuc, Y.G., Antoniol, G.: An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In: 2011 15th European Conference on Software Maintenance and Reengineering, pp. 181–190. IEEE (2011)
AlOmar, E.A., Mkaouer, M.W., Ouni, A., Kessentini, M.: On the impact of refactoring on the relationship between quality attributes and design metrics. In: 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE (2019)
Arcoverde, R., Garcia, A., Figueiredo, E.: Understanding the longevity of code smells: preliminary results of an explanatory survey. In: Proceedings of the 4th Workshop on Refactoring Tools, pp. 33–36 (2011)
Bavota, G., Qusef, A., Oliveto, R., De Lucia, A., Binkley, D.: An empirical analysis of the distribution of unit test smells and their impact on software maintenance. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 56–65. IEEE (2012)
Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., Palomba, F.: An experimental investigation on the innate relationship between quality and refactoring. J. Syst. Softw. 107, 1–14 (2015)
Breiman, L.: Random forests. Mach. Learn. 45(1), 5–32 (2001)
Brown, W.H., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, Hoboken (1998)
Cámara, J., de Lemos, R., Laranjeiro, N., Ventura, R., Vieira, M.: Testing the robustness of controllers for self-adaptive systems. J. Braz. Comput. Soc. 20(1), 1 (2014)
Carvalho, S.G., Aniche, M., Veríssimo, J., Durelli, R.S., Gerosa, M.A.: An empirical catalog of code smells for the presentation layer of Android apps. Empir. Softw. Eng. 24(6), 3546–3586 (2019)
Cohen, J.: Statistical power analysis. Curr. Dir. Psychol. Sci. 1(3), 98–101 (1992)
Cruz, L., Abreu, R.: Performance-based guidelines for energy efficient mobile applications. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 46–57. IEEE (2017)
Cruz, L., Abreu, R., Lo, D.: To the attention of mobile software developers: guess what, test your app! Empir. Softw. Eng. 24(4), 2438–2468 (2019)
D’Ambros, M., Bacchelli, A., Lanza, M.: On the impact of design flaws on software defects. In: 2010 10th International Conference on Quality Software, pp. 23–31. IEEE (2010)
Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn (1997)
fiksu: fiksu. https://fiksu.com/abouthttps:/fiksu.com/press-releases/fiksu-indexes-mobile-marketing-costs-download-dip-in-may (2021)
Flegal, K.M., Kruszon-Moran, D., Carroll, M.D., Fryar, C.D., Ogden, C.L.: Trends in obesity among adults in the United States, 2005 to 2014. JAMA 315(21), 2284–2291 (2016)
Fowler, M.: Refactoring: improving the design of existing code. In: 11th European Conference. Jyväskylä, Finland (1997)
Freund, Y., Schapire, R., Abe, N.: A short introduction to boosting. J. Jpn. Soc. Artif. Intell. 14(771–780), 1612 (1999)
Gao, J., Li, L., Bissyandé, T.F., Klein, J.: On the evolution of mobile app complexity. In: 2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS), pp 200–209. IEEE (2019)
Gatrell, M., Counsell, S.: The effect of refactoring on change and fault-proneness in commercial c# software. Sci. Comput. Program. 102, 44–56 (2015)
Gondra, I.: Applying machine learning to software fault-proneness prediction. J. Syst. Softw. 81(2), 186–195 (2008)
Hecht, G., Benomar, O., Rouvoy, R., Moha, N., Duchien, L.: Tracking the software quality of android applications along their evolution (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 236–247. IEEE (2015)
IEC: Iec. https://basecamp.iec.ch/download/iec-white-papers-internet-of-things-wireless-sensor-networks/ (2021)
Ines, G., Makram, S., Mabrouka, C., Mourad, A.: Evaluation of mobile interfaces as an optimization problem. Procedia Comput. Sci. 112, 235–248 (2017)
Jindal, C., Malhotra, R., Jain, A.: Software defect prediction using neural networks. In: Proceedings of 3rd International Conference on Reliability, Infocom Technologies and Optimization, pp. 1–6. IEEE (2014)
Kessentini, M., Ouni, A.: Detecting android smells using multi-objective genetic programming. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, pp. 122–132. IEEE Press (2017)
Khomh, F., Di Penta, M., Guéhéneuc, Y.: An Exploratory Study of the Impact of Code Smells on Software Change-proneness. École Polytechnique de Montréal, Tech. Rep. EPM-RT-2009-02 (2009)
Khomh, F., Di Penta, M., Guéhéneuc, Y.G., Antoniol, G.: An exploratory study of the impact of antipatterns on class change-and fault-proneness. Empir. Softw. Eng. 17(3), 243–275 (2012)
Li, W., Shatnawi, R.: An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution. J. Syst. Softw. 80(7), 1120–1128 (2007). https://doi.org/10.1016/j.jss.2006.10.018
Mabrouka, C.: Expriment. https://github.com/mabroukachouchane/master-Jmetal (2021)
Magoulas, G.D., Chen, S.Y., Papanikolaou, K.A.: Integrating layered and heuristic evaluation for adaptive learning environments. In: Proceedings of the Second Workshop on Empirical Evaluation of Adaptive Systems, Held at the 9th International Conference on User Modeling UM2003, Pittsburgh, pp. 5–14 (2003)
Malhotra, R., Jain, A.: Fault prediction using statistical and machine learning methods for improving software quality. J. Inf. Process. Syst. 8(2), 241–262 (2012)
Marinescu, R.: When and why your code starts to smell bad (and whether the smells go away). In: 20th IEEE International Conference on Software Maintenance, 2004. Proceedings, pp. 350–359. IEEE (2004)
Mercaldo, F., Di Sorbo, A., Visaggio, C.A., Cimitile, A., Martinelli, F.: An exploratory study on the evolution of Android malware quality. J. Softw. Evol. Process 30(11), e1978 (2018)
Minelli, R., Lanza, M.: Software analytics for mobile applications–insights & lessons learned. In 2013 17th European Conference on Software Maintenance and Reengineering, pp. 144–153. IEEE (2013)
Mkaouer, M.W., Kessentini, M., Cinnéide, M.Ó., Hayashi, S., Deb, K.: A robust multi-objective approach to balance severity and importance of refactoring opportunities. Empir. Softw. Eng. 22(2), 894–927 (2017)
Olbrich, S.M., Cruzes, D.S., Sjoøberg, D.I.: Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems. In: IEEE International Conference on Software Maintenance, ICSM (2010). https://doi.org/10.1109/ICSM.2010.5609564
Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., Poshyvanyk, D., De Lucia, A.: Mining version histories for detecting code smells. IEEE Trans. Softw. Eng. 41(5), 462–489 (2014)
Palomba, F., Di Nucci, D., Panichella, A., Zaidman, A., De Lucia, A.: Lightweight detection of Android-specific code smells: the aDoctor project. In: 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 487–491. IEEE (2017)
Park, D., Lee, J.H., Kim, S.: Investigating the affective quality of interactivity by motion feedback in mobile touchscreen user interfaces. Int. J. Hum. Comput. Stud. 69(12), 839–853 (2011)
Quinlan, J.R.: C4. 5: Programs for Machine Learning. Elsevier (2014)
Reimann, J., Brylski, M., Aßmann, U.: A tool-supported quality smell catalogue for android developers. In: Proc. of the conference Modellierung 2014 in the Workshop Modellbasierte und modellgetriebene Softwaremodernisierung—MMSM, vol. 2014 (2014)
Ruiz, I.J.M., Nagappan, M., Adams, B., Hassan, A.E.: Understanding reuse in the android market. In: 2012 20th IEEE International Conference on Program Comprehension (ICPC), pp. 113–122. IEEE (2012)
Ruzic, L., Lee, S.T., Liu, Y.E, Sanford, J.A.: Development of universal design mobile interface guidelines (UDMIG) for aging population. In: International Conference on Universal Access in Human–Computer Interaction, pp. 98–108. Springer, Berlin (2016)
Sjøberg, D.I., Yamashita, A., Anda, B.C., Mockus, A., Dybå, T.: Quantifying the effect of code smells on maintenance effort. IEEE Trans. Softw. Eng. 39(8), 1144–1156 (2012)
Soui, M., Chouchane, M., Gasmi, I., Mkaouer, M.W.: PLAIN: PLugin for predicting the usAbility of Mobile User INterface. In: VISIGRAPP (1: GRAPP), pp. 127–136 (2017)
Soui, M., Chouchane, M., Mkaouer, M.W., Kessentini, M., Ghedira, K.: Assessing the quality of mobile graphical user interfaces using multi-objective optimization. Soft. Comput. 1–30 (2019)
Stephanidis, C., Paramythis, A., Sfyrakis, M.: Evaluating adaptable and adaptive user interfaces: lessons learned from the development of the AVANTI Web browser. In: 5th ERCIM Workshop on “User Interfaces for All”, pp. 22.1–22.6 (1999)
Student: An experimental determination of the probable error of Dr Spearman’s correlation coefficients. Biometrika 263–282 (1921)
Ting, S., Ip, W., Tsang, A.H., et al.: Is Naive Bayes a good classifier for document classification. Int. J. Softw. Eng. Appl. 5(3), 37–46 (2011)
Tufano, M., Palomba, F., Bavota, G., Olivetox, R., Di Penta, M., De Lucia, A., Poshyvanyk, D.: When and why your code starts to smell bad. In: Proceedings—International Conference on Software Engineering vol. 1, pp. 403–414 (2015). https://doi.org/10.1109/ICSE.2015.59
Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., Poshyvanyk, D.: When and why your code starts to smell bad (and whether the smells go away). IEEE Trans. Softw. Eng. 43(11), 1063–1088 (2017)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)
Yamashita, A., Moonen, L.: Do developers care about code smells? An exploratory survey. In: 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 242–251. IEEE (2013a)
Yamashita, A., Moonen, L.: Exploring the impact of inter-smell relations on software maintainability: an empirical study. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 682–691. IEEE (2013b)
Yang, L., Shami, A.: On hyperparameter optimization of machine learning algorithms: theory and practice. Neurocomputing 415, 295–316 (2020)
Yegnanarayana, B.: Artificial Neural Networks. PHI Learning Pvt Ltd (2009)
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Ethical approval
All procedures performed in studies involving human participants were in accordance with the ethical standards of the institutional and/or national research committee and with the 1964 Helsinki declaration and its later amendments or comparable ethical standards.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Chouchane, M., Soui, M. & Ghedira, K. The impact of the code smells of the presentation layer on the diffuseness of aesthetic defects of Android apps. Autom Softw Eng 28, 20 (2021). https://doi.org/10.1007/s10515-021-00297-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-021-00297-8