Skip to main content
Log in

The impact of the code smells of the presentation layer on the diffuseness of aesthetic defects of Android apps

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

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)

    Article  Google Scholar 

  • Breiman, L.: Random forests. Mach. Learn. 45(1), 5–32 (2001)

    Article  Google Scholar 

  • Brown, W.H., Malveau, R.C., McCormick, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, Hoboken (1998)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Cohen, J.: Statistical power analysis. Curr. Dir. Psychol. Sci. 1(3), 98–101 (1992)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Gondra, I.: Applying machine learning to software fault-proneness prediction. J. Syst. Softw. 81(2), 186–195 (2008)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)

    Book  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Yegnanarayana, B.: Artificial Neural Networks. PHI Learning Pvt Ltd (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mabrouka Chouchane.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10515-021-00297-8

Keywords

Navigation