Skip to main content
Top
Published in: Arabian Journal for Science and Engineering 4/2020

01-02-2020 | Research Article-Computer Engineering and Computer Science

Recovering Android Bad Smells from Android Applications

Authors: Ghulam Rasool, Azhar Ali

Published in: Arabian Journal for Science and Engineering | Issue 4/2020

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

The demand for Android mobile software applications is continuously increasing with the evolution of technology and new enriching features to make the life of people easy and comfortable. The mobile-based software applications are frequently updated as compared to other web and desktop applications. Due to these frequent updating cycles, the developers sometimes make changes in a rush which leads to poor design choices known as antipatterns or code bad smells. Code bad smells degrade the performance of applications and make evolution difficult. The recovery of bad smells from mobile software applications is still at infancy but it is a very important research realm that requires the attention of researchers and practitioners. The results of recovery may be used for comprehension, maintenance, reengineering, evolution and refactoring of these applications. Most state-of-the-art approaches focused on the detection of code bad smells from object-oriented applications and they target only a few code smells. We present a novel approach supplemented with tool support to recover 25 Android code bad smells from Android-specific software applications. We evaluate our approach by performing experiments on 4 open source and 3 industrial Android-specific software applications and measure accuracy using standard metrics.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Lim, D.: Detecting code smells in Android applications. Master Thesis, TU Delft, Netherlands Lim, D.: Detecting code smells in Android applications. Master Thesis, TU Delft, Netherlands
2.
go back to reference Fowler, M.; Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (1999) Fowler, M.; Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (1999)
3.
go back to reference Saborido, R.; Morales, R.; Khomh, F.; Guéhéneuc, Y.G.; Antoniol, G.: Getting the most from map data structures in Android. Empir. Softw. Eng. 23, 2839–2864 (2018) Saborido, R.; Morales, R.; Khomh, F.; Guéhéneuc, Y.G.; Antoniol, G.: Getting the most from map data structures in Android. Empir. Softw. Eng. 23, 2839–2864 (2018)
4.
go back to reference Li, L.; Bissyandé, T.F.; Papadakis, M.; Rasthofer, S.; Bartel, A.; Octeau, D.; Traon, L.: Static analysis of android apps: a systematic literature review. Inf. Softw. Technol. 88, 67–95 (2017) Li, L.; Bissyandé, T.F.; Papadakis, M.; Rasthofer, S.; Bartel, A.; Octeau, D.; Traon, L.: Static analysis of android apps: a systematic literature review. Inf. Softw. Technol. 88, 67–95 (2017)
5.
go back to reference Reimann, J.; Brylski, M.; Aßmann, U.: A tool-supported quality smell catalogue for android developers. In: Proceedings of the Conference Modellierung 2014 in the Workshop Modellbasierte und modellgetriebene Softwaremodernisierung–MMSM (2014) Reimann, J.; Brylski, M.; Aßmann, U.: A tool-supported quality smell catalogue for android developers. In: Proceedings of the Conference Modellierung 2014 in the Workshop Modellbasierte und modellgetriebene Softwaremodernisierung–MMSM (2014)
6.
go back to reference Payet, É.; Spoto, F.: Static analysis of Android programs. Inf. Softw. Technol. 54(11), 1192–1201 (2012) Payet, É.; Spoto, F.: Static analysis of Android programs. Inf. Softw. Technol. 54(11), 1192–1201 (2012)
7.
go back to reference Trifu, A.; Marinescu, R.: Diagnosing design problems in object oriented systems. In: 12th Working Conference on Reverse Engineering, pp. 155–164 (2005) Trifu, A.; Marinescu, R.: Diagnosing design problems in object oriented systems. In: 12th Working Conference on Reverse Engineering, pp. 155–164 (2005)
8.
go back to reference Hassaine, S.; Khomh, F.; Guéhéneuc, Y.-G.; Hamel, S.: IDS: an immune-inspired approach for the detection of software design smells. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 343–348 (2010) Hassaine, S.; Khomh, F.; Guéhéneuc, Y.-G.; Hamel, S.: IDS: an immune-inspired approach for the detection of software design smells. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 343–348 (2010)
9.
go back to reference Travassos, G.; Shull, F.; Fredericks, M.; Basili, V.R.: Detecting defects in object-oriented designs: using reading techniques to increase software quality. In: ACM Sigplan Notices, pp. 47–56 (1999) Travassos, G.; Shull, F.; Fredericks, M.; Basili, V.R.: Detecting defects in object-oriented designs: using reading techniques to increase software quality. In: ACM Sigplan Notices, pp. 47–56 (1999)
10.
go back to reference Marinescu, R.: Detection strategies: metrics-based rules for detecting design flaws. In: 20th IEEE International Conference on Software Maintenance. Proceedings, pp. 350–359 (2004) Marinescu, R.: Detection strategies: metrics-based rules for detecting design flaws. In: 20th IEEE International Conference on Software Maintenance. Proceedings, pp. 350–359 (2004)
11.
go back to reference Khomh, F.; Vaucher, S.; Guéhéneuc, Y.-G.; Sahraoui, H.: A bayesian approach for the detection of code and design smells. In: 9th International Conference on Quality Software. QSIC’09, pp. 305–314 (2009) Khomh, F.; Vaucher, S.; Guéhéneuc, Y.-G.; Sahraoui, H.: A bayesian approach for the detection of code and design smells. In: 9th International Conference on Quality Software. QSIC’09, pp. 305–314 (2009)
12.
go back to reference Stoianov, A.; Şora, I.: Detecting patterns and antipatterns in software using Prolog rules. In: 2010 International Joint Conference on Computational Cybernetics and Technical Informatics (ICCC-CONTI), pp. 253–258 (2010) Stoianov, A.; Şora, I.: Detecting patterns and antipatterns in software using Prolog rules. In: 2010 International Joint Conference on Computational Cybernetics and Technical Informatics (ICCC-CONTI), pp. 253–258 (2010)
13.
go back to reference Khomh, F.; Vaucher, S.; Guéhéneuc, Y.-G.; Sahraoui, H.: BDTEX: a GQM-based Bayesian approach for the detection of antipatterns. J. Syst. Softw. 84, 559–572 (2011) Khomh, F.; Vaucher, S.; Guéhéneuc, Y.-G.; Sahraoui, H.: BDTEX: a GQM-based Bayesian approach for the detection of antipatterns. J. Syst. Softw. 84, 559–572 (2011)
14.
go back to reference Maiga, A.; Ali, N.; Bhattacharya, N.; Sabané, A.; Guéhéneuc, Y.-G.; Antoniol, G.: Support vector machines for anti-pattern detection. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, pp. 278–281 (2012) Maiga, A.; Ali, N.; Bhattacharya, N.; Sabané, A.; Guéhéneuc, Y.-G.; Antoniol, G.: Support vector machines for anti-pattern detection. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, pp. 278–281 (2012)
15.
go back to reference 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, 1144–1156 (2013) 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, 1144–1156 (2013)
16.
go back to reference Kessentini, W.; Kessentini, M.; Sahraoui, H.; Bechikh, S.; Ouni, A.: A cooperative parallel search-based software engineering approach for code-smells detection. IEEE Trans. Softw. Eng. 40, 841–861 (2014) Kessentini, W.; Kessentini, M.; Sahraoui, H.; Bechikh, S.; Ouni, A.: A cooperative parallel search-based software engineering approach for code-smells detection. IEEE Trans. Softw. Eng. 40, 841–861 (2014)
17.
go back to reference Sahin, D.; Kessentini, M.; Bechikh, S.; Deb, K.: Code-smell detection as a bilevel problem. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24, 6 (2014) Sahin, D.; Kessentini, M.; Bechikh, S.; Deb, K.: Code-smell detection as a bilevel problem. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24, 6 (2014)
18.
go back to reference Ujhelyi, Z.; Horváth, Á.; Varró, D.; Csiszár, N.I.; Szoke, G.; Vidács, L.; et al.: Anti-pattern detection with model queries: a comparison of approaches. In: 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 293–302 (2014) Ujhelyi, Z.; Horváth, Á.; Varró, D.; Csiszár, N.I.; Szoke, G.; Vidács, L.; et al.: Anti-pattern detection with model queries: a comparison of approaches. In: 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 293–302 (2014)
19.
go back to reference Velioğlu, S.; Selçuk, Y.E.: An automated code smell and anti-pattern detection approach. In: 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 271–275 (2017) Velioğlu, S.; Selçuk, Y.E.: An automated code smell and anti-pattern detection approach. In: 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 271–275 (2017)
20.
go back to reference Maiga, A.; Ali, N.; Bhattacharya, N.; Sabane, A.; Gueheneuc, Y.-G.; Aimeur, E.: SMURF: a SVM-based incremental anti-pattern detection approach. In: 2012 19th Working Conference on Reverse Engineering (WCRE), pp. 466–475 (2012) Maiga, A.; Ali, N.; Bhattacharya, N.; Sabane, A.; Gueheneuc, Y.-G.; Aimeur, E.: SMURF: a SVM-based incremental anti-pattern detection approach. In: 2012 19th Working Conference on Reverse Engineering (WCRE), pp. 466–475 (2012)
21.
go back to reference Palomba, F.; Bavota, G.; Di Penta, M.; Oliveto, R.; De Lucia, A.; Poshyvanyk, D.: Detecting bad smells in source code using change history information. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp. 268–278 (2013) Palomba, F.; Bavota, G.; Di Penta, M.; Oliveto, R.; De Lucia, A.; Poshyvanyk, D.: Detecting bad smells in source code using change history information. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp. 268–278 (2013)
22.
go back to reference Di Nucci, D.; Palomba, F.; Tamburri, D.A.; Serebrenik, A.; De Lucia, A.: Detecting code smells using machine learning techniques: are we there yet?. In: International Conference on Software Analysis, Evolution, and Reengineering. IEEE (2018) Di Nucci, D.; Palomba, F.; Tamburri, D.A.; Serebrenik, A.; De Lucia, A.: Detecting code smells using machine learning techniques: are we there yet?. In: International Conference on Software Analysis, Evolution, and Reengineering. IEEE (2018)
23.
go back to reference Moha, N.; Gueheneuc, Y.-G.; Duchien, L.; Le Meur, A.-F.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36, 20–36 (2010)MATH Moha, N.; Gueheneuc, Y.-G.; Duchien, L.; Le Meur, A.-F.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36, 20–36 (2010)MATH
24.
go back to reference Moha, N.; Gueheneuc, Y.-G.; Leduc, P.: Automatic generation of detection algorithms for design defects. In: 21st IEEE/ACM International Conference on Automated Software Engineering. ASE’06, pp. 297–300 (2006) Moha, N.; Gueheneuc, Y.-G.; Leduc, P.: Automatic generation of detection algorithms for design defects. In: 21st IEEE/ACM International Conference on Automated Software Engineering. ASE’06, pp. 297–300 (2006)
25.
go back to reference Fokaefs, M.; Tsantalis, N.; Chatzigeorgiou, A.: Jdeodorant: Identification and removal of feature envy bad smells. In: 2007 IEEE International Conference on Software Maintenance, pp. 519–520 (2007) Fokaefs, M.; Tsantalis, N.; Chatzigeorgiou, A.: Jdeodorant: Identification and removal of feature envy bad smells. In: 2007 IEEE International Conference on Software Maintenance, pp. 519–520 (2007)
26.
go back to reference Rasool, G.; Arshad, Z.: A lightweight approach for detection of code smells. Arab. J. Sci. Eng. 42(2), 483–506 (2017) Rasool, G.; Arshad, Z.: A lightweight approach for detection of code smells. Arab. J. Sci. Eng. 42(2), 483–506 (2017)
27.
go back to reference Fontana, F.A.; Mäntylä, M.V.; Zanoni, M.; Marino, A.: Comparing and experimenting machine learning techniques for code smell detection. Empir. Softw. Eng. 21(3), 1143–1191 (2016) Fontana, F.A.; Mäntylä, M.V.; Zanoni, M.; Marino, A.: Comparing and experimenting machine learning techniques for code smell detection. Empir. Softw. Eng. 21(3), 1143–1191 (2016)
28.
go back to reference Mansoor, U.; Kessentini, M.; Maxim, B.R.; Deb, K.: Multi-objective code-smells detection using good and bad design examples. Softw. Qual. J. 25(2), 529–552 (2017) Mansoor, U.; Kessentini, M.; Maxim, B.R.; Deb, K.: Multi-objective code-smells detection using good and bad design examples. Softw. Qual. J. 25(2), 529–552 (2017)
30.
go back to reference Hadj-Kacem, M.; Bouassida, N.: A hybrid approach to detect code smells using deep learning. In: ENASE, pp. 137–146 (2018) Hadj-Kacem, M.; Bouassida, N.: A hybrid approach to detect code smells using deep learning. In: ENASE, pp. 137–146 (2018)
31.
go back to reference Li, Z.; Chen, T.H.P.; Yang, J.; Shang, W.: Dlfinder: characterizing and detecting duplicate logging code smells. In: Proceedings of the 41st International Conference on Software Engineering, pp. 152–163 (2019) Li, Z.; Chen, T.H.P.; Yang, J.; Shang, W.: Dlfinder: characterizing and detecting duplicate logging code smells. In: Proceedings of the 41st International Conference on Software Engineering, pp. 152–163 (2019)
32.
go back to reference Blouin, A.; Lelli, V.; Baudry, B.; Coulon, F.: User interface design smell: automatic detection and refactoring of Blob listeners. Inf. Softw. Technol. 102, 49–64 (2018) Blouin, A.; Lelli, V.; Baudry, B.; Coulon, F.: User interface design smell: automatic detection and refactoring of Blob listeners. Inf. Softw. Technol. 102, 49–64 (2018)
33.
go back to reference Verloop, D.: Code smells in the mobile applications domain. Master Thesis, TUDelft, Neitherland (2013) Verloop, D.: Code smells in the mobile applications domain. Master Thesis, TUDelft, Neitherland (2013)
34.
go back to reference 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.; 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)
35.
go back to reference Fontana, F.A.; Dietrich, J.; Walter, B.; Yamashita, A.; Zanoni, M.: Antipattern and code smell false positives: preliminary conceptualization and classification. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 609–613 (2016) Fontana, F.A.; Dietrich, J.; Walter, B.; Yamashita, A.; Zanoni, M.: Antipattern and code smell false positives: preliminary conceptualization and classification. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 609–613 (2016)
36.
go back to reference Palomba, F.; Panichella, A.; De Lucia, A.; Oliveto, R.; Zaidman, A.: A textual-based technique for smell detection. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10 (2016) Palomba, F.; Panichella, A.; De Lucia, A.; Oliveto, R.; Zaidman, A.: A textual-based technique for smell detection. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10 (2016)
37.
go back to reference Di Nucci, D.; Palomba, F.; Tamburri, D.A.; Serebrenik, A.; De Lucia, A.: Detecting code smells using machine learning techniques: are we there yet?. In: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 612–621 (2018) Di Nucci, D.; Palomba, F.; Tamburri, D.A.; Serebrenik, A.; De Lucia, A.: Detecting code smells using machine learning techniques: are we there yet?. In: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 612–621 (2018)
39.
go back to reference Banerjee, A.; Chong, L.K.; Chattopadhyay, S.; Roychoudhury, A.: Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 588–598 (2014) Banerjee, A.; Chong, L.K.; Chattopadhyay, S.; Roychoudhury, A.: Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 588–598 (2014)
40.
go back to reference Hecht, G.: An approach to detect Android antipatterns. In: Proceedings of the 37th International Conference on Software Engineering, vol. 2, pp. 766–768 (2015) Hecht, G.: An approach to detect Android antipatterns. In: Proceedings of the 37th International Conference on Software Engineering, vol. 2, pp. 766–768 (2015)
41.
go back to reference Hecht, G.; Rouvoy, R.; Moha, N.; Duchien, L.: Detecting antipatterns in android apps. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, pp. 148–149 (2015) Hecht, G.; Rouvoy, R.; Moha, N.; Duchien, L.: Detecting antipatterns in android apps. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, pp. 148–149 (2015)
42.
go back to reference 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 (2017) 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 (2017)
43.
go back to reference Rasool, G.; Arshad, Z.: A review of code smell mining techniques. J. Softw. Evol. Process 27(11), 867–895 (2017) Rasool, G.; Arshad, Z.: A review of code smell mining techniques. J. Softw. Evol. Process 27(11), 867–895 (2017)
44.
go back to reference Carette, A.; Younes, M.A.A.; Hecht, G.; Moha, N.; Rouvoy, R.: Investigating the energy impact of android smells. In: 24th International IEEE Conference on Software Analysis, Evolution and Reengineering (SANER), p. 10 (2017) Carette, A.; Younes, M.A.A.; Hecht, G.; Moha, N.; Rouvoy, R.: Investigating the energy impact of android smells. In: 24th International IEEE Conference on Software Analysis, Evolution and Reengineering (SANER), p. 10 (2017)
45.
go back to reference Grano, G.; Di Sorbo, A.; Mercaldo, F.; Visaggio, C.A.; Canfora, G.; Panichella, S.: Android apps and user feedback: a dataset for software evolution and quality improvement. In: Proceedings of the 2nd ACM SIGSOFT International Workshop on App Market Analytics, pp. 8–11 (2017) Grano, G.; Di Sorbo, A.; Mercaldo, F.; Visaggio, C.A.; Canfora, G.; Panichella, S.: Android apps and user feedback: a dataset for software evolution and quality improvement. In: Proceedings of the 2nd ACM SIGSOFT International Workshop on App Market Analytics, pp. 8–11 (2017)
46.
go back to reference Mateus, B.G.; Martinez, M.: An empirical study on quality of Android applications written in Kotlin language (2018). arXiv preprint arXiv:1808.00025 Mateus, B.G.; Martinez, M.: An empirical study on quality of Android applications written in Kotlin language (2018). arXiv preprint arXiv:​1808.​00025
47.
go back to reference Peruma, A.S.A.: What the smell? An empirical investigation on the distribution and severity of test smells in open source Android applications. Master Thesis, Rochester Institute of Technology, Rochester, New York (2018) Peruma, A.S.A.: What the smell? An empirical investigation on the distribution and severity of test smells in open source Android applications. Master Thesis, Rochester Institute of Technology, Rochester, New York (2018)
48.
go back to reference Elsayed, E.K.; ElDahshan, K.A.; El-Sharawy, E.E.; Ghannam, N.E.: Reverse engineering approach for improving the quality of mobile applications. PeerJ Preprints 7, e27633v1 (2019) Elsayed, E.K.; ElDahshan, K.A.; El-Sharawy, E.E.; Ghannam, N.E.: Reverse engineering approach for improving the quality of mobile applications. PeerJ Preprints 7, e27633v1 (2019)
49.
go back to reference Almalki, K.S.: Bad Droid! An in-depth empirical study on the occurrence and impact of Android specific code smells. Thesis. Rochester Institute of Technology (2018) Almalki, K.S.: Bad Droid! An in-depth empirical study on the occurrence and impact of Android specific code smells. Thesis. Rochester Institute of Technology (2018)
50.
go back to reference El-Dahshan, K.A.; Elsayed, E.K.; Ghannam, N.E.: Comparative study for detecting mobile application’s anti-patterns. In: Proceedings of the 2019 8th International Conference on Software and Information Engineering, pp. 1–8 (2019) El-Dahshan, K.A.; Elsayed, E.K.; Ghannam, N.E.: Comparative study for detecting mobile application’s anti-patterns. In: Proceedings of the 2019 8th International Conference on Software and Information Engineering, pp. 1–8 (2019)
51.
go back to reference Habchi, S.; Hecht, G.; Rouvoy, R.; Moha, N.: Code smells in iOS apps: how do they compare to Android?. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, pp. 110–121 (2017) Habchi, S.; Hecht, G.; Rouvoy, R.; Moha, N.: Code smells in iOS apps: how do they compare to Android?. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, pp. 110–121 (2017)
52.
go back to reference Hecht, G.; Benomar, O.; Rouvoy, R.; Moha, N.; Duchien, L.: Tracking the software quality of android applications along their evolution (t). In: Proceedings of 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 236–247 (2015) Hecht, G.; Benomar, O.; Rouvoy, R.; Moha, N.; Duchien, L.: Tracking the software quality of android applications along their evolution (t). In: Proceedings of 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 236–247 (2015)
53.
go back to reference Mannan, U.A.; Ahmed, I.; Almurshed, R.A.M.; Dig, D.; Jensen, C.: Understanding code smells in android applications. In: Proceedings of the International Workshop on Mobile Software Engineering and Systems, pp. 225–234. ACM (2016) Mannan, U.A.; Ahmed, I.; Almurshed, R.A.M.; Dig, D.; Jensen, C.: Understanding code smells in android applications. In: Proceedings of the International Workshop on Mobile Software Engineering and Systems, pp. 225–234. ACM (2016)
54.
go back to reference Ghafari, M.; Gadient, P.; Nierstrasz, O.: Security smells in Android. In: Proceedings of IEEE 17th International Working Conference on Source Code Analysis and Manipulation, pp. 121–130 (2017) Ghafari, M.; Gadient, P.; Nierstrasz, O.: Security smells in Android. In: Proceedings of IEEE 17th International Working Conference on Source Code Analysis and Manipulation, pp. 121–130 (2017)
55.
56.
go back to reference Abbes, M.; Khomh, F.; Guéhéneuc, Y.-G.; Antoniol, G.: An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In: Proceedings of the 15th European Conference on Software Maintenance and Reengineering, Oldenburg, Germany. IEEE Computer Society, pp. 181–190 (2011) Abbes, M.; Khomh, F.; Guéhéneuc, Y.-G.; Antoniol, G.: An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In: Proceedings of the 15th European Conference on Software Maintenance and Reengineering, Oldenburg, Germany. IEEE Computer Society, pp. 181–190 (2011)
57.
go back to reference Oliveira, J.; Viggiato, M.; Santos, M.; Figueiredo, E.; Marques-Neto, H. An empirical study on the impact of android code smells on resource usage. In: International Conference on Software Engineering & Knowledge Engineering (SEKE) (2018) Oliveira, J.; Viggiato, M.; Santos, M.; Figueiredo, E.; Marques-Neto, H. An empirical study on the impact of android code smells on resource usage. In: International Conference on Software Engineering & Knowledge Engineering (SEKE) (2018)
58.
go back to reference Verdecchia, R.; Saez, R.A.; Procaccianti, G.; Lago, P.: Empirical evaluation of the energy impact of refactoring code smells. In: 5th International Conference on ICT for Sustainability, pp. 365–383 (2018) Verdecchia, R.; Saez, R.A.; Procaccianti, G.; Lago, P.: Empirical evaluation of the energy impact of refactoring code smells. In: 5th International Conference on ICT for Sustainability, pp. 365–383 (2018)
59.
go back to reference Khomh, F.; Di Penta, M.; Guéhéneuc, Y.-G.; Antoniol, G.: An exploratory study of the impact of antipatterns on class changeand fault-proneness. Empir. Softw. Eng. 17(3), 243–275 (2012) Khomh, F.; Di Penta, M.; Guéhéneuc, Y.-G.; Antoniol, G.: An exploratory study of the impact of antipatterns on class changeand fault-proneness. Empir. Softw. Eng. 17(3), 243–275 (2012)
60.
go back to reference Das, T.; Di Penta, M.; Malavolta, I.: A quantitative and qualitative investigation of performance-related commits in Android apps. In: 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 443–447 (2016) Das, T.; Di Penta, M.; Malavolta, I.: A quantitative and qualitative investigation of performance-related commits in Android apps. In: 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 443–447 (2016)
61.
go back to reference 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. In: Proceedings of the 37th International Conference on Software Engineering, vol. 1, pp. 403–414 (2015) 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. In: Proceedings of the 37th International Conference on Software Engineering, vol. 1, pp. 403–414 (2015)
62.
go back to reference Palomba, F.; Bavota, G.; Di Penta, M.; Fasano, F.; Oliveto, R.; De Lucia, A.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23(3), 1188–1221 (2018) Palomba, F.; Bavota, G.; Di Penta, M.; Fasano, F.; Oliveto, R.; De Lucia, A.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23(3), 1188–1221 (2018)
63.
go back to reference Gadient, P.; Ghafari, M.; Frischknecht, P.; Nierstrasz, O.: Security code smells in Android ICC. Empir. Softw. Eng. 24, 3046–3076 (2018) Gadient, P.; Ghafari, M.; Frischknecht, P.; Nierstrasz, O.: Security code smells in Android ICC. Empir. Softw. Eng. 24, 3046–3076 (2018)
64.
go back to reference Olbrich, S.; Cruzes, D.S.; Basili, V.; Zazworka, N.: The evolution and impact of code smells: a case study of two open source systems. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, ser. ESEM’09, pp. 390–400 (2009) Olbrich, S.; Cruzes, D.S.; Basili, V.; Zazworka, N.: The evolution and impact of code smells: a case study of two open source systems. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, ser. ESEM’09, pp. 390–400 (2009)
65.
go back to reference Cairo, A.; Carneiro, G.; Monteiro, M.: The impact of code smells on software bugs: a systematic literature review. Information 9(11), 273 (2018) Cairo, A.; Carneiro, G.; Monteiro, M.: The impact of code smells on software bugs: a systematic literature review. Information 9(11), 273 (2018)
66.
go back to reference Yamashita, A.; Counsell, S.: Code smells as system-level indicators of maintainability: an empirical study. J. Syst. Softw. 86(10), 2639–2653 (2013) Yamashita, A.; Counsell, S.: Code smells as system-level indicators of maintainability: an empirical study. J. Syst. Softw. 86(10), 2639–2653 (2013)
67.
go back to reference Perez-Castillo, R.; Piattini, M.: Analyzing the harmful effect of god class refactoring on power consumption. IEEE Softw. 31(3), 48–54 (2014) Perez-Castillo, R.; Piattini, M.: Analyzing the harmful effect of god class refactoring on power consumption. IEEE Softw. 31(3), 48–54 (2014)
68.
go back to reference Gottschalk, M.; Jelschen, J.; Winter, A.: Saving energy on mobile devices by refactoring. In: EnviroInfo. enviroinfo.eu, pp. 437–444 (2014) Gottschalk, M.; Jelschen, J.; Winter, A.: Saving energy on mobile devices by refactoring. In: EnviroInfo. enviroinfo.eu, pp. 437–444 (2014)
69.
go back to reference Kim, D.K.: Towards performance-enhancing programming for Android application development. Int. J. Contents 13(4), 39–46 (2017) Kim, D.K.: Towards performance-enhancing programming for Android application development. Int. J. Contents 13(4), 39–46 (2017)
70.
go back to reference Rodriguez, A.; Longo, M.; Zunino, A.: Using bad smell-driven code refactorings in mobile applications to reduce battery usage. In: Simposio Argentino de Ingeniería de Software (ASSE 2015)-JAIIO 44 (Rosario, 2015) (2015). Rodriguez, A.; Longo, M.; Zunino, A.: Using bad smell-driven code refactorings in mobile applications to reduce battery usage. In: Simposio Argentino de Ingeniería de Software (ASSE 2015)-JAIIO 44 (Rosario, 2015) (2015).
71.
go back to reference Fan, L.; Su, T.; Chen, S.; Meng, G.; Liu, Y.; Xu, L., Su, Z. Large-scale analysis of framework-specific exceptions in Android apps. In: 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE), pp. 408–419 (2018) Fan, L.; Su, T.; Chen, S.; Meng, G.; Liu, Y.; Xu, L., Su, Z. Large-scale analysis of framework-specific exceptions in Android apps. In: 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE), pp. 408–419 (2018)
72.
go back to reference Habchi, S.; Rouvoy, R.; Moha, N.: On the survival of Android code smells in the wild. In: 6th IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft) (2019) Habchi, S.; Rouvoy, R.; Moha, N.: On the survival of Android code smells in the wild. In: 6th IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft) (2019)
73.
go back to reference Habchi, S.; Moha, N.; Rouvoy, R.: The rise of Android code smells: Who is to blame?. In: MSR 2019-Proceedings of the 16th International Conference on Mining Software Repositories (2019) Habchi, S.; Moha, N.; Rouvoy, R.: The rise of Android code smells: Who is to blame?. In: MSR 2019-Proceedings of the 16th International Conference on Mining Software Repositories (2019)
74.
go back to reference Malavolta, I.; Verdecchia, R.; Filipovic, B.; Bruntink, M.; Lago, P.:. How maintainability issues of Android apps evolve. In: 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 334–344 (2018) Malavolta, I.; Verdecchia, R.; Filipovic, B.; Bruntink, M.; Lago, P.:. How maintainability issues of Android apps evolve. In: 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 334–344 (2018)
75.
go back to reference Pritam, N.; Khari, M.; Kumar, R.; Jha, S.; Priyadarshini, I.; Abdel-Basset, M.; Long, H.V.: Assessment of code smell for predicting class change proneness using machine learning. IEEE Access 7, 37414–37425 (2019) Pritam, N.; Khari, M.; Kumar, R.; Jha, S.; Priyadarshini, I.; Abdel-Basset, M.; Long, H.V.: Assessment of code smell for predicting class change proneness using machine learning. IEEE Access 7, 37414–37425 (2019)
76.
go back to reference Johannes, D.; Khomh, F.; Antoniol, G.: A large-scale empirical study of code smells in JavaScript projects. Softw. Qual. J. 27, 1271–1314 (2019) Johannes, D.; Khomh, F.; Antoniol, G.: A large-scale empirical study of code smells in JavaScript projects. Softw. Qual. J. 27, 1271–1314 (2019)
77.
go back to reference Rodriguez, A.; Mateos, C.; Zunino, A.: Improving scientific application execution on android mobile devices via code refactorings. Softw. Pract. Exp. 47(5), 763–796 (2017) Rodriguez, A.; Mateos, C.; Zunino, A.: Improving scientific application execution on android mobile devices via code refactorings. Softw. Pract. Exp. 47(5), 763–796 (2017)
78.
go back to reference Morales, R.; Saborido, R.; Khomh, F.; Chicano, F.; Antoniol, G.: Anti-patterns and the energy efficiency of Android applications. IEEE Trans. Softw. Eng. (2016) Morales, R.; Saborido, R.; Khomh, F.; Chicano, F.; Antoniol, G.: Anti-patterns and the energy efficiency of Android applications. IEEE Trans. Softw. Eng. (2016)
79.
go back to reference Kim, D.; Hong, J.E.; Yoon, I.; Lee, S.H.: Code refactoring techniques for reducing energy consumption in embedded computing environment. Cluster Comput. 21(1), 1079–1095 (2018) Kim, D.; Hong, J.E.; Yoon, I.; Lee, S.H.: Code refactoring techniques for reducing energy consumption in embedded computing environment. Cluster Comput. 21(1), 1079–1095 (2018)
80.
go back to reference Li, W.; Jiang, Y.; Xu, C.; Liu, Y.; Ma, X.; Lü, J.: Characterizing and detecting inefficient image displaying issues in Android apps. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 355–365 (2019) Li, W.; Jiang, Y.; Xu, C.; Liu, Y.; Ma, X.; Lü, J.: Characterizing and detecting inefficient image displaying issues in Android apps. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 355–365 (2019)
81.
go back to reference 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 (2017) 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 (2017)
82.
go back to reference Linares-Vásquez, M.: Supporting evolution and maintenance of Android apps. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 714–717 (2014) Linares-Vásquez, M.: Supporting evolution and maintenance of Android apps. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 714–717 (2014)
83.
go back to reference Li, X.; Gallagher, J.P.: A source-level energy optimization framework for mobile applications. In: 2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 31–40 (2016) Li, X.; Gallagher, J.P.: A source-level energy optimization framework for mobile applications. In: 2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 31–40 (2016)
84.
go back to reference Saifan, A.A.; Al-Rabadi, A.: Evaluating maintainability of android applications. In: 2017 8th International Conference on Information Technology (ICIT), pp. 518–523 (2017) Saifan, A.A.; Al-Rabadi, A.: Evaluating maintainability of android applications. In: 2017 8th International Conference on Information Technology (ICIT), pp. 518–523 (2017)
85.
go back to reference Afjehei, S.S.; Chen, T.H.P.; Tsantalis, N.: iPerfDetector: characterizing and detecting performance anti-patterns in iOS applications. Empir. Softw. Eng. 1–30 (2019) Afjehei, S.S.; Chen, T.H.P.; Tsantalis, N.: iPerfDetector: characterizing and detecting performance anti-patterns in iOS applications. Empir. Softw. Eng. 1–30 (2019)
86.
go back to reference Mumtaz, H.; Alshayeb, M.; Mahmood, S.; Niazi, M.: An empirical study to improve software security through the application of code refactoring. Inf. Softw. Technol. 96, 112–125 (2018) Mumtaz, H.; Alshayeb, M.; Mahmood, S.; Niazi, M.: An empirical study to improve software security through the application of code refactoring. Inf. Softw. Technol. 96, 112–125 (2018)
87.
go back to reference Linares-Vásquez, M.; Vendome, C.; Tufano, M.; Poshyvanyk, D.: How developers micro-optimize android apps. J. Syst. Softw. 130, 1–23 (2017) Linares-Vásquez, M.; Vendome, C.; Tufano, M.; Poshyvanyk, D.: How developers micro-optimize android apps. J. Syst. Softw. 130, 1–23 (2017)
88.
go back to reference Gottschalk, M.; Josefiok, M.; Jelschen, J.; Winter, A.: Removing energy code smells with reengineering services. INFORMATIK (2012) Gottschalk, M.; Josefiok, M.; Jelschen, J.; Winter, A.: Removing energy code smells with reengineering services. INFORMATIK (2012)
89.
go back to reference Meier, J.; Ostendorp, M.C.; Jelschen, J.; Winter, A.: Certifying energy efficiency of android applications. In: EnviroInfo, pp. 765–770 (2014) Meier, J.; Ostendorp, M.C.; Jelschen, J.; Winter, A.: Certifying energy efficiency of android applications. In: EnviroInfo, pp. 765–770 (2014)
90.
go back to reference Rani, A.; Chhabra, J.K.: Evolution of code smells over multiple versions of softwares: an empirical investigation. In: 2017 2nd International Conference for Convergence in Technology (I2CT), pp. 1093–1098 (2017) Rani, A.; Chhabra, J.K.: Evolution of code smells over multiple versions of softwares: an empirical investigation. In: 2017 2nd International Conference for Convergence in Technology (I2CT), pp. 1093–1098 (2017)
91.
go back to reference Chatzigeorgiou, A.; Manakos, A.: Investigating the evolution of bad smells in object-oriented code. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology, pp. 106–115 (2010) Chatzigeorgiou, A.; Manakos, A.: Investigating the evolution of bad smells in object-oriented code. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology, pp. 106–115 (2010)
92.
go back to reference Soh, Z.; Yamashita, A.; Khomh, F.; Guéhéneuc, Y.G.: Do code smells impact the effort of different maintenance programming activities?. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 393–402 (2016) Soh, Z.; Yamashita, A.; Khomh, F.; Guéhéneuc, Y.G.: Do code smells impact the effort of different maintenance programming activities?. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 393–402 (2016)
93.
go back to reference Tahmid, A.; Nahar, N.; Sakib, K.: Understanding the evolution of code smells by observing code smell clusters. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 4, pp. 8–11 (2016) Tahmid, A.; Nahar, N.; Sakib, K.: Understanding the evolution of code smells by observing code smell clusters. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 4, pp. 8–11 (2016)
94.
go back to reference Li, D.; Halfond, W.G.: An investigation into energy-saving programming practices for android smartphone app development. In: Proceedings of the 3rd International Workshop on Green and Sustainable Software, pp. 46–53 (2014) Li, D.; Halfond, W.G.: An investigation into energy-saving programming practices for android smartphone app development. In: Proceedings of the 3rd International Workshop on Green and Sustainable Software, pp. 46–53 (2014)
95.
go back to reference Gottschalk, M.; Jelschen, J.; Winter, A.: Refactorings for energy-efficiency. In: Advances and new trends in environmental and energy informatics, pp. 77–96. Springer, Cham (2016) Gottschalk, M.; Jelschen, J.; Winter, A.: Refactorings for energy-efficiency. In: Advances and new trends in environmental and energy informatics, pp. 77–96. Springer, Cham (2016)
96.
go back to reference Habchi, S.; Blanc, X.; Rouvoy, R.: On adopting linters to deal with performance concerns in Android apps. In: Proceedings of Automated Software Engineering, pp. 6–16 (2018) Habchi, S.; Blanc, X.; Rouvoy, R.: On adopting linters to deal with performance concerns in Android apps. In: Proceedings of Automated Software Engineering, pp. 6–16 (2018)
97.
go back to reference Chatzigeorgiou, A.; Manakos, A.: Investigating the evolution of code smells in object-oriented systems. Innov. Syst. Softw. Eng. 10(1), 3–18 (2014) Chatzigeorgiou, A.; Manakos, A.: Investigating the evolution of code smells in object-oriented systems. Innov. Syst. Softw. Eng. 10(1), 3–18 (2014)
98.
go back to reference Vidal, S.A.; Marcos, C.; Díaz-Pace, J.A.: An approach to prioritize code smells for refactoring. Autom. Softw. Eng. 23(3), 501–532 (2016) Vidal, S.A.; Marcos, C.; Díaz-Pace, J.A.: An approach to prioritize code smells for refactoring. Autom. Softw. Eng. 23(3), 501–532 (2016)
99.
go back to reference Sae-Lim, N.; Hayashi, S.; Saeki, M.: How do developers select and prioritize code smells? A preliminary study. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 484–488 (2017) Sae-Lim, N.; Hayashi, S.; Saeki, M.: How do developers select and prioritize code smells? A preliminary study. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 484–488 (2017)
100.
go back to reference Palomba, F.; Tamburri, D.A.A.; Fontana, F.A.; Oliveto, R.; Zaidman, A.; Serebrenik, A.: Beyond technical aspects: how do community smells influence the intensity of code smells?. IEEE Trans. Softw. Eng. (2018) Palomba, F.; Tamburri, D.A.A.; Fontana, F.A.; Oliveto, R.; Zaidman, A.; Serebrenik, A.: Beyond technical aspects: how do community smells influence the intensity of code smells?. IEEE Trans. Softw. Eng. (2018)
101.
go back to reference Hozano, M.; Antunes, N.; Fonseca, B.; Costa, E.: Evaluating the Accuracy of machine learning algorithms on detecting code smells for different developers. In: ICEIS (2), pp. 474–482 (2017) Hozano, M.; Antunes, N.; Fonseca, B.; Costa, E.: Evaluating the Accuracy of machine learning algorithms on detecting code smells for different developers. In: ICEIS (2), pp. 474–482 (2017)
102.
go back to reference Liu, H.; Li, B.; Yang, Y.; Ma, W.; Jia, R.: Exploring the impact of code smells on fine-grained structural change-proneness. Int. J. Softw. Eng. Knowl. Eng. 28(10), 1487–1516 (2018) Liu, H.; Li, B.; Yang, Y.; Ma, W.; Jia, R.: Exploring the impact of code smells on fine-grained structural change-proneness. Int. J. Softw. Eng. Knowl. Eng. 28(10), 1487–1516 (2018)
103.
go back to reference Palomba, F.; Zanoni, M.; Fontana, F.A.; De Lucia, A.; Oliveto, R.: Toward a smell-aware bug prediction model. IEEE Trans. Softw. Eng. 45(2), 194–218 (2017) Palomba, F.; Zanoni, M.; Fontana, F.A.; De Lucia, A.; Oliveto, R.: Toward a smell-aware bug prediction model. IEEE Trans. Softw. Eng. 45(2), 194–218 (2017)
105.
go back to reference Haque, M.S.; Carver, J.; Atkison, T.: Causes, impacts, and detection approaches of code smell: a survey. In: Proceedings of the ACMSE 2018 Conference, p. 25 (2018) Haque, M.S.; Carver, J.; Atkison, T.: Causes, impacts, and detection approaches of code smell: a survey. In: Proceedings of the ACMSE 2018 Conference, p. 25 (2018)
106.
go back to reference Zhang, M.; Hall, T.; Baddoo, N.: Code bad smells: a review of current knowledge. J. Softw. Maint. Evol. Res. Pract. 23(3), 179–202 (2011) Zhang, M.; Hall, T.; Baddoo, N.: Code bad smells: a review of current knowledge. J. Softw. Maint. Evol. Res. Pract. 23(3), 179–202 (2011)
107.
go back to reference Gupta, A.; Suri, B.; Misra, S.: A systematic literature review: code bad smells in Java source code. In: International Conference on Computational Science and Its Applications, pp. 665–682 (2017) Gupta, A.; Suri, B.; Misra, S.: A systematic literature review: code bad smells in Java source code. In: International Conference on Computational Science and Its Applications, pp. 665–682 (2017)
108.
go back to reference Kaur, A.; Dhiman, G.: A review on search-based tools and techniques to identify bad code smells in object-oriented systems. In: Harmony Search and Nature Inspired Optimization Algorithms, pp. 909–921 (2019). Kaur, A.; Dhiman, G.: A review on search-based tools and techniques to identify bad code smells in object-oriented systems. In: Harmony Search and Nature Inspired Optimization Algorithms, pp. 909–921 (2019).
109.
go back to reference Sharma, T.; Spinellis, D.: A survey on software smells. J. Syst. Softw. 138, 158–173 (2018) Sharma, T.; Spinellis, D.: A survey on software smells. J. Syst. Softw. 138, 158–173 (2018)
110.
go back to reference Azeem, M.I.; Palomba, F.; Shi, L.; Wang, Q.: Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Information and Software Technology (2019) Azeem, M.I.; Palomba, F.; Shi, L.; Wang, Q.: Machine learning techniques for code smell detection: a systematic literature review and meta-analysis. Information and Software Technology (2019)
111.
go back to reference Azadi, U.; Fontana, F.A.; Zanoni, M.: Poster: machine learning based code smell detection through WekaNose. In: 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), pp. 288–289 (2018) Azadi, U.; Fontana, F.A.; Zanoni, M.: Poster: machine learning based code smell detection through WekaNose. In: 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), pp. 288–289 (2018)
112.
go back to reference Caram, F.L.; Rodrigues, B.R.D.O.; Campanelli, A.S.; Parreiras, F.S.: Machine learning techniques for code smells detection: a systematic mapping study. Int. J. Softw. Eng. Knowl. Eng. 29(02), 285–316 (2019) Caram, F.L.; Rodrigues, B.R.D.O.; Campanelli, A.S.; Parreiras, F.S.: Machine learning techniques for code smells detection: a systematic mapping study. Int. J. Softw. Eng. Knowl. Eng. 29(02), 285–316 (2019)
113.
go back to reference Alkharabsheh, K.; Crespo, Y.; Manso, E.; Taboada, J.A.: Software design smell detection: a systematic mapping study. Softw. Qual. J. 27, 1069–1148 (2018) Alkharabsheh, K.; Crespo, Y.; Manso, E.; Taboada, J.A.: Software design smell detection: a systematic mapping study. Softw. Qual. J. 27, 1069–1148 (2018)
114.
go back to reference de Paulo Sobrinho, E.V.; De Lucia, A.; de Almeida Maia, M.: A systematic literature review on bad smells—5 W’s: which, when, what, who, where. IEEE Trans. Softw. Eng. 1–58 (2018) de Paulo Sobrinho, E.V.; De Lucia, A.; de Almeida Maia, M.: A systematic literature review on bad smells—5 W’s: which, when, what, who, where. IEEE Trans. Softw. Eng. 1–58 (2018)
115.
go back to reference Barbez, A.; Khomh, F.; Guéhéneuc, Y.G.: A machine-learning based ensemble method for anti-patterns detection (2019). arXiv preprint arXiv:1903.01899. Barbez, A.; Khomh, F.; Guéhéneuc, Y.G.: A machine-learning based ensemble method for anti-patterns detection (2019). arXiv preprint arXiv:​1903.​01899.
116.
go back to reference Saranya, G.; Nehemiah, H.K.; Kannan, A.; Nithya, V.: Model level code smell detection using egapso based on similarity measures. Alexandria Eng. J. 57(3), 1631–1642 (2018) Saranya, G.; Nehemiah, H.K.; Kannan, A.; Nithya, V.: Model level code smell detection using egapso based on similarity measures. Alexandria Eng. J. 57(3), 1631–1642 (2018)
117.
go back to reference Fernandes, E.; Oliveira, J.; Vale, G.; Paiva, T.; Figueiredo, E.: A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering, p. 18. ACM (2016) Fernandes, E.; Oliveira, J.; Vale, G.; Paiva, T.; Figueiredo, E.: A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering, p. 18. ACM (2016)
118.
go back to reference Din, J.; Al-Badareen, A.B.; Jusoh, Y.Y.: Antipatterns detection approaches in object-oriented design: a literature review. In: 2012 7th International Conference on Computing and Convergence Technology (ICCCT), pp. 926–931 (2012) Din, J.; Al-Badareen, A.B.; Jusoh, Y.Y.: Antipatterns detection approaches in object-oriented design: a literature review. In: 2012 7th International Conference on Computing and Convergence Technology (ICCCT), pp. 926–931 (2012)
119.
go back to reference Kitchenham, B.; Pearl Brereton, O.; Budgen, D.; Turner, M.; Bailey, J.; Linkman, S.: Systematic literature reviews in software engineering–a systematic literature review. Inf. Softw. Technol. 51(1), 7–15 (2009) Kitchenham, B.; Pearl Brereton, O.; Budgen, D.; Turner, M.; Bailey, J.; Linkman, S.: Systematic literature reviews in software engineering–a systematic literature review. Inf. Softw. Technol. 51(1), 7–15 (2009)
120.
go back to reference Ibrahim, R.; Ahmed, M.; Nayak, R.; Jamel, S.: Reducing redundancy of test cases generation using code smell detection and refactoring. J. King Saud Univ. Comput. Inf. Sci. (2018, in press) Ibrahim, R.; Ahmed, M.; Nayak, R.; Jamel, S.: Reducing redundancy of test cases generation using code smell detection and refactoring. J. King Saud Univ. Comput. Inf. Sci. (2018, in press)
121.
go back to reference Palomba, F.; Di Nucci, D.; Panichella, A.; Zaidman, A.; De Lucia, A.: On the impact of code smells on the energy consumption of mobile applications. Inf. Softw. Technol. 105, 43–55 (2019) Palomba, F.; Di Nucci, D.; Panichella, A.; Zaidman, A.; De Lucia, A.: On the impact of code smells on the energy consumption of mobile applications. Inf. Softw. Technol. 105, 43–55 (2019)
122.
go back to reference Singh, S., & Kaur, S. (2017). A systematic literature review: Refactoring for disclosing code smells in object oriented software. Ain Shams Engineering Journal. Singh, S., & Kaur, S. (2017). A systematic literature review: Refactoring for disclosing code smells in object oriented software. Ain Shams Engineering Journal.
123.
go back to reference Kannangara, S.H.; Wijayanayake, W.M.J.I.: An empirical evaluation of impact of refactoring on internal and external measures of code quality (2015). arXiv preprint arXiv:1502.03526 Kannangara, S.H.; Wijayanayake, W.M.J.I.: An empirical evaluation of impact of refactoring on internal and external measures of code quality (2015). arXiv preprint arXiv:​1502.​03526
124.
go back to reference Cedrim, D.; Sousa, L.; Garcia, A.; Gheyi, R.: Does refactoring improve software structural quality? A longitudinal study of 25 projects. In: Proceedings of the 30th Brazilian Symposium on Software Engineering, pp. 73–82 (2016) Cedrim, D.; Sousa, L.; Garcia, A.; Gheyi, R.: Does refactoring improve software structural quality? A longitudinal study of 25 projects. In: Proceedings of the 30th Brazilian Symposium on Software Engineering, pp. 73–82 (2016)
125.
go back to reference Aniche, M.; Bavota, G.; Treude, C.; Gerosa, M.A.; van Deursen, A.: Code smells for model-view-controller architectures. Empir. Softw. Eng. 23(4), 2121–2157 (2018) Aniche, M.; Bavota, G.; Treude, C.; Gerosa, M.A.; van Deursen, A.: Code smells for model-view-controller architectures. Empir. Softw. Eng. 23(4), 2121–2157 (2018)
126.
go back to reference Saboury, A.; Musavi, P.; Khomh, F., Antoniol, G.: An empirical study of code smells in javascript projects. In: 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 294–305 (2017) Saboury, A.; Musavi, P.; Khomh, F., Antoniol, G.: An empirical study of code smells in javascript projects. In: 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 294–305 (2017)
127.
go back to reference Prabowo, G.; Suryotrisongko, H.; Tjahyanto, A.: A tale of two development approach: empirical study on the maintainability and modularity of Android mobile application with anti-pattern and model-view-presenter design pattern. In: 2018 International Conference on Electrical Engineering and Informatics (ICELTICs) (44501), pp. 149–154 (2018) Prabowo, G.; Suryotrisongko, H.; Tjahyanto, A.: A tale of two development approach: empirical study on the maintainability and modularity of Android mobile application with anti-pattern and model-view-presenter design pattern. In: 2018 International Conference on Electrical Engineering and Informatics (ICELTICs) (44501), pp. 149–154 (2018)
128.
go back to reference Santos, J.A.M.; Rocha-Junior, J.B.; Prates, L.C.L.; do Nascimento, R.S.; Freitas, M.F.; de Mendonca, M.G.: A systematic review on the code smell effect. J. Syst. Softw. 144, 450–477 (2018) Santos, J.A.M.; Rocha-Junior, J.B.; Prates, L.C.L.; do Nascimento, R.S.; Freitas, M.F.; de Mendonca, M.G.: A systematic review on the code smell effect. J. Syst. Softw. 144, 450–477 (2018)
129.
go back to reference Lin, Y.; Okur, S.; Dig, D.: Study and refactoring of android asynchronous programming (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 224–235 (2015) Lin, Y.; Okur, S.; Dig, D.: Study and refactoring of android asynchronous programming (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 224–235 (2015)
130.
go back to reference Hecht, G.; Moha, N.; Rouvoy, R.: An empirical study of the performance impacts of android code smells. In: Proceedings of the International Conference on Mobile Software Engineering and Systems, pp. 59–69 (2016) Hecht, G.; Moha, N.; Rouvoy, R.: An empirical study of the performance impacts of android code smells. In: Proceedings of the International Conference on Mobile Software Engineering and Systems, pp. 59–69 (2016)
131.
go back to reference Habchi, S.; Hecht, G.; Rouvoy, R.; Moha, N.: Code smells in iOS Apps: How do they compare to Android?. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 110–121 (2017) Habchi, S.; Hecht, G.; Rouvoy, R.; Moha, N.: Code smells in iOS Apps: How do they compare to Android?. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 110–121 (2017)
132.
go back to reference Morales, R.; Saborido, R.; Khomh, F.; Chicano, F.; Antoniol, G.: Earmo: an energy-aware refactoring approach for mobile apps. IEEE Trans. Softw. Eng. 44, 1176–1206 (2018) Morales, R.; Saborido, R.; Khomh, F.; Chicano, F.; Antoniol, G.: Earmo: an energy-aware refactoring approach for mobile apps. IEEE Trans. Softw. Eng. 44, 1176–1206 (2018)
133.
go back to reference 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 (2017) 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 (2017)
134.
go back to reference Dennis, C.; Krutz, D.E.; Mkaouer, M.W.: P-lint: a permission smell detector for android applications. In: Proceedings of Mobile Software Engineering and Systems (MOBILESoft), pp. 219–220 (2017) Dennis, C.; Krutz, D.E.; Mkaouer, M.W.: P-lint: a permission smell detector for android applications. In: Proceedings of Mobile Software Engineering and Systems (MOBILESoft), pp. 219–220 (2017)
135.
go back to reference Paternò, F.; Schiavone, A.G.; Conti, A.: Customizable automatic detection of bad usability smells in mobile accessed web applications. In: Proceedings of the 19th International Conference on Human–Computer Interaction with Mobile Devices and Services, p. 42 (2017) Paternò, F.; Schiavone, A.G.; Conti, A.: Customizable automatic detection of bad usability smells in mobile accessed web applications. In: Proceedings of the 19th International Conference on Human–Computer Interaction with Mobile Devices and Services, p. 42 (2017)
136.
go back to reference Rubin, J.; Henniche, A.N.; Moha, N.; Bouguessa, M.; Bousbia, N.: Sniffing Android code smells: an association rules mining-based approach. In: Proceedings of the 6th International Conference on Mobile Software Engineering and Systems, pp. 123–127 (2019) Rubin, J.; Henniche, A.N.; Moha, N.; Bouguessa, M.; Bousbia, N.: Sniffing Android code smells: an association rules mining-based approach. In: Proceedings of the 6th International Conference on Mobile Software Engineering and Systems, pp. 123–127 (2019)
137.
go back to reference Kessentini, W.; Kessentini, M.; Sahraoui, H.; Bechikh, S.; Ouni, A.: A cooperative parallel search-based software engineering approach for code-smells detection. IEEE Trans. Softw. Eng. 40(9), 841–861 (2014) Kessentini, W.; Kessentini, M.; Sahraoui, H.; Bechikh, S.; Ouni, A.: A cooperative parallel search-based software engineering approach for code-smells detection. IEEE Trans. Softw. Eng. 40(9), 841–861 (2014)
138.
go back to reference Nuñez-Varela, A.S.; Pérez-Gonzalez, H.G.; Martínez-Perez, F.E.; Soubervielle-Montalvo, C.: Source code metrics: a systematic mapping study. J. Syst. Softw. 128, 164–197 (2017) Nuñez-Varela, A.S.; Pérez-Gonzalez, H.G.; Martínez-Perez, F.E.; Soubervielle-Montalvo, C.: Source code metrics: a systematic mapping study. J. Syst. Softw. 128, 164–197 (2017)
139.
go back to reference Miceli, D.; et al.: Can metrics help to bridge the gap between the improvement of oo design quality and its automation? In: Intl. Conf. on Software Maintenance. IEEE (2000) Miceli, D.; et al.: Can metrics help to bridge the gap between the improvement of oo design quality and its automation? In: Intl. Conf. on Software Maintenance. IEEE (2000)
140.
go back to reference Elish, M.O.; Rine, D.: Investigation of metrics for object-oriented design logical stability. In: Seventh European Conference on Software Maintenance and Reengineering. Proceedings. IEEE (2003) Elish, M.O.; Rine, D.: Investigation of metrics for object-oriented design logical stability. In: Seventh European Conference on Software Maintenance and Reengineering. Proceedings. IEEE (2003)
141.
go back to reference Kaur, A.; Kaur, K.; Kaur, H.: An investigation of the accuracy of code and process metrics for defect prediction of mobile applications. In: 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), pp. 1–6 (2015) Kaur, A.; Kaur, K.; Kaur, H.: An investigation of the accuracy of code and process metrics for defect prediction of mobile applications. In: 2015 4th International Conference on Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), pp. 1–6 (2015)
142.
go back to reference Satrijandi, N.; Widyani, Y.: Efficiency measurement of java android code. In: 2014 International Conference on Data and Software Engineering (ICODSE), pp. 1–6 (2014) Satrijandi, N.; Widyani, Y.: Efficiency measurement of java android code. In: 2014 International Conference on Data and Software Engineering (ICODSE), pp. 1–6 (2014)
143.
go back to reference Jošt, G.; Huber, J.; Heričko, M.: Using object oriented software metrics for mobile application development. In: 2nd Workshop of Software Quality Analysis, Monitoring, Improvement, and Applications, pp. 17–27 (2013) Jošt, G.; Huber, J.; Heričko, M.: Using object oriented software metrics for mobile application development. In: 2nd Workshop of Software Quality Analysis, Monitoring, Improvement, and Applications, pp. 17–27 (2013)
144.
go back to reference Kim, D.K.: Finding bad code smells with neural network models. Int. J. Electr. Comput. Eng. (2088-8708), 7(6) (2017). Kim, D.K.: Finding bad code smells with neural network models. Int. J. Electr. Comput. Eng. (2088-8708), 7(6) (2017).
145.
go back to reference 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, e1978 (2018) 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, e1978 (2018)
146.
go back to reference Rahman, A.; Pradhan, P.; Partho, A.; Williams, L.: Predicting Android application security and privacy risk with static code metrics. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 149–153 (2017) Rahman, A.; Pradhan, P.; Partho, A.; Williams, L.: Predicting Android application security and privacy risk with static code metrics. In: 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 149–153 (2017)
147.
go back to reference Campbell, G.A.; Papapetrou, P.P.: SonarQube in Action, 1st edn. Manning Publications Co., Greenwich (2013) Campbell, G.A.; Papapetrou, P.P.: SonarQube in Action, 1st edn. Manning Publications Co., Greenwich (2013)
148.
go back to reference Stojkovski, M.: Thresholds for software quality metrics in open source Android projects. Master Thesis, Norwegian University of Science and Technology (2017) Stojkovski, M.: Thresholds for software quality metrics in open source Android projects. Master Thesis, Norwegian University of Science and Technology (2017)
Metadata
Title
Recovering Android Bad Smells from Android Applications
Authors
Ghulam Rasool
Azhar Ali
Publication date
01-02-2020
Publisher
Springer Berlin Heidelberg
Published in
Arabian Journal for Science and Engineering / Issue 4/2020
Print ISSN: 2193-567X
Electronic ISSN: 2191-4281
DOI
https://doi.org/10.1007/s13369-020-04365-1

Other articles of this Issue 4/2020

Arabian Journal for Science and Engineering 4/2020 Go to the issue

Research Article-Computer Engineering and Computer Science

Bengali Stop Word and Phrase Detection Mechanism

Research Article - SPECIAL ISSUE - INTELLIGENT COMPUTING and INTERDISCIPLINARY APPLICATIONS

A Congestion Aware Route Suggestion Protocol for Traffic Management in Internet of Vehicles

Research Article – Special Issue - Intelligent Computing and Interdisciplinary Applications

Analysis of Support Vector Machine-based Intrusion Detection Techniques

RESEARCH ARTICLE - SPECIAL ISSUE - INTELLIGENT COMPUTING and INTERDISCIPLINARY APPLICATIONS

Adaptive k-Anonymity Approach for Privacy Preserving in Cloud

Premium Partners