Skip to main content
Erschienen in: Empirical Software Engineering 6/2019

25.06.2019

An empirical study on quality of Android applications written in Kotlin language

Erschienen in: Empirical Software Engineering | Ausgabe 6/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Context

During the last years, developers of mobile applications have the possibility to use new paradigms and tools for developing mobile applications. For instance, since 2017, Android developers have the official support to write Android applications using Kotlin language. Kotlin is programming language fully interoperable with Java that combines object-oriented and functional features.

Objective

The goal of this paper is twofold. First, it aims to study the degree of adoption of Kotlin language on the development of open-source Android applications and to measure the amount of Kotlin code inside those applications. Secondly, it aims to measure the quality of Android applications that are written using Kotlin and to compare it with the quality of Android applications written using Java.

Method

We first defined a method to detect Kotlin applications from a dataset of open-source Android applications. Then, we analyzed those applications to detect instances of code smells and computed an estimation of the quality of the applications. Finally, we studied how the introduction of Kotlin code impacts on the quality of an Android application.

Results

Our experiment found that 11.26% of applications from a dataset with 2,167 open-source applications have been written (partially or fully) using Kotlin language. We found that the introduction of Kotlin code increases the quality, in terms of the presence of 10 different code smells studied, 4 object-oriented and 6 Android, of the majority of the Android applications initially written in Java.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • 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!

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!

Fußnoten
17
Last visit: 06/04/2018.
 
19
Last visit: 16/10/2018.
 
20
Experiment executed the June 4th, 2018.
 
23
In the appendix we list that applications that suffer the mentioned problem: https://​github.​com/​UPHF/​kotlinandroid/​blob/​master/​docs/​wrong_​match.​md.
 
30
Hecht (2016a) considers that a method is “long” (LM) if it has more than 17 instructions.
 
Literatur
Zurück zum Zitat Allix K, Bissyandé TF, Klein J, Le Traon Y (2016) AndroZoo: Collecting Millions of Android Apps for the Research Community Kevin. Proceedings of the 13th International Workshop on Mining Software Repositories - MSR ’16, pp 468–471. https://doi.org/10.1145/2901739.2903508 Allix K, Bissyandé TF, Klein J, Le Traon Y (2016) AndroZoo: Collecting Millions of Android Apps for the Research Community Kevin. Proceedings of the 13th International Workshop on Mining Software Repositories - MSR ’16, pp 468–471. https://​doi.​org/​10.​1145/​2901739.​2903508
Zurück zum Zitat Aniche M, Bavota G, Treude C, Van Deursen A, Gerosa MA (2017) A validated set of smells in model-view-controller architectures. Proceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016, pp 233–243. https://doi.org/10.1109/ICSME.2016.12 Aniche M, Bavota G, Treude C, Van Deursen A, Gerosa MA (2017) A validated set of smells in model-view-controller architectures. Proceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016, pp 233–243. https://​doi.​org/​10.​1109/​ICSME.​2016.​12
Zurück zum Zitat Brown W H, Malveau R C, McCormick H W, Mowbray T J (1998) Antipatterns: refactoring software, architectures and projects in crisis, Wiley, New York Brown W H, Malveau R C, McCormick H W, Mowbray T J (1998) Antipatterns: refactoring software, architectures and projects in crisis, Wiley, New York
Zurück zum Zitat Chen TH, Shang W, Jiang ZM, Hassan AE, Nasser M, Flora P (2014) Detecting performance anti-patterns for applications developed using object-relational mapping. In: Proceedings of the 36th International Conference on Software Engineering, ACM, pp 1001–1012 Chen TH, Shang W, Jiang ZM, Hassan AE, Nasser M, Flora P (2014) Detecting performance anti-patterns for applications developed using object-relational mapping. In: Proceedings of the 36th International Conference on Software Engineering, ACM, pp 1001–1012
Zurück zum Zitat Cliff N (2014) Ordinal methods for behavioral data analysis. Psychology Press Cliff N (2014) Ordinal methods for behavioral data analysis. Psychology Press
Zurück zum Zitat Cruz L, Abreu R (2018) Using Automatic Refactoring to Improve Energy Efficiency of Android Apps. In: Proceedings of the CIbSE XXI Ibero-American Conference on Software Engineering. arXiv:1803.05889 Cruz L, Abreu R (2018) Using Automatic Refactoring to Improve Energy Efficiency of Android Apps. In: Proceedings of the CIbSE XXI Ibero-American Conference on Software Engineering. arXiv:1803.​05889
Zurück zum Zitat Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code. Addison-Wesley Professional Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code. Addison-Wesley Professional
Zurück zum Zitat Geiger FX, Malavolta I (2018a) Datasets of Android Applications: a Literature Review. arXiv:1809.10069 Geiger FX, Malavolta I (2018a) Datasets of Android Applications: a Literature Review. arXiv:1809.​10069
Zurück zum Zitat Geiger FX, Malavolta I, Pascarella L, Palomba F, Di Nucci D, Bacchelli A (2018b) A graph-based dataset of commit history of real-world android apps. In: Proceedings of the 15th International Conference on Mining Software Repositories, MSR ’18. ACM, New York, pp 30–33. https://doi.org/10.1145/3196398.3196460 Geiger FX, Malavolta I, Pascarella L, Palomba F, Di Nucci D, Bacchelli A (2018b) A graph-based dataset of commit history of real-world android apps. In: Proceedings of the 15th International Conference on Mining Software Repositories, MSR ’18. ACM, New York, pp 30–33. https://​doi.​org/​10.​1145/​3196398.​3196460
Zurück zum Zitat Hecht G, Benomar O, Rouvoy R, Moha N, Duchien L (2015a) Tracking the software quality of android applications along their evolution. In: Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE ’15. IEEE Computer Society, Washington, pp 236–247. https://doi.org/10.1109/ASE.2015.46 Hecht G, Benomar O, Rouvoy R, Moha N, Duchien L (2015a) Tracking the software quality of android applications along their evolution. In: Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE ’15. IEEE Computer Society, Washington, pp 236–247. https://​doi.​org/​10.​1109/​ASE.​2015.​46
Zurück zum Zitat Lehman M M (1980) Programs, life cycles, and laws of software evolution. Proc IEEE 68(9):1060–1076CrossRef Lehman M M (1980) Programs, life cycles, and laws of software evolution. Proc IEEE 68(9):1060–1076CrossRef
Zurück zum Zitat Malavolta I, Ruberto S, Soru T, Terragni V (2015b) Hybrid mobile apps in the google play store: An exploratory investigation. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, MOBILESoft ’15. IEEE Press, Piscataway, pp 56–59. http://dl.acm.org/citation.cfm?id=2825041.2825051 Malavolta I, Ruberto S, Soru T, Terragni V (2015b) Hybrid mobile apps in the google play store: An exploratory investigation. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, MOBILESoft ’15. IEEE Press, Piscataway, pp 56–59. http://​dl.​acm.​org/​citation.​cfm?​id=​2825041.​2825051
Zurück zum Zitat Martinez M, Lecomte S (2017) Towards the quality improvement of cross-platform mobile applications. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, MOBILESoft ’17. IEEE Press, Piscataway, pp 184–188. https://doi.org/10.1109/MOBILESoft.2017.30 Martinez M, Lecomte S (2017) Towards the quality improvement of cross-platform mobile applications. In: Proceedings of the 4th International Conference on Mobile Software Engineering and Systems, MOBILESoft ’17. IEEE Press, Piscataway, pp 184–188. https://​doi.​org/​10.​1109/​MOBILESoft.​2017.​30
Zurück zum Zitat Mazinanian D, Tsantalis N, Mesbah A (2014) Discovering refactoring opportunities in cascading style sheets. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 496–506 Mazinanian D, Tsantalis N, Mesbah A (2014) Discovering refactoring opportunities in cascading style sheets. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 496–506
Zurück zum Zitat Morales R, Saborido R, Khomh F, Chicano F, Antoniol G (2016) Anti-patterns and the energy efficiency of Android applications. arXiv:1610.05711 Morales R, Saborido R, Khomh F, Chicano F, Antoniol G (2016) Anti-patterns and the energy efficiency of Android applications. arXiv:1610.​05711
Zurück zum Zitat Reimann J, Brylski M, Aßmann U (2014b) A tool-supported quality smell catalogue for android developers. In: Proceedings of the conference modellierung 2014 in the workshop modellbasierte und modellgetriebene softwaremodernisierung–MMSM, vol 2014 Reimann J, Brylski M, Aßmann U (2014b) A tool-supported quality smell catalogue for android developers. In: Proceedings of the conference modellierung 2014 in the workshop modellbasierte und modellgetriebene softwaremodernisierung–MMSM, vol 2014
Zurück zum Zitat Romano J, Kromrey JD, Coraggio J, Skowronek J, Devine L (2006) Exploring methods for evaluating group differences on the nsse and other surveys: Are the t-test and cohen’sd indices the most appropriate choices. In: annual meeting of the Southern Association for Institutional Research, Citeseer Romano J, Kromrey JD, Coraggio J, Skowronek J, Devine L (2006) Exploring methods for evaluating group differences on the nsse and other surveys: Are the t-test and cohen’sd indices the most appropriate choices. In: annual meeting of the Southern Association for Institutional Research, Citeseer
Zurück zum Zitat Zadeh LA (1974) Fuzzy logic and its application to approximate reasoning. In: IFIP Congress, vol 591 Zadeh LA (1974) Fuzzy logic and its application to approximate reasoning. In: IFIP Congress, vol 591
Metadaten
Titel
An empirical study on quality of Android applications written in Kotlin language
Publikationsdatum
25.06.2019
Erschienen in
Empirical Software Engineering / Ausgabe 6/2019
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-019-09727-4

Weitere Artikel der Ausgabe 6/2019

Empirical Software Engineering 6/2019 Zur Ausgabe