Comparison of Code Smells in iOS and Android Applications

K. Rahkema, D. Pfahl. Comparison of Code Smells in iOS and Android Applications. pages 79-86, 12, 2020.

  • Kristiina Rahkema
  • Dietmar Pfahl
  • Horst Lichter
  • Selin Aydin
  • Thanwadee Sunetnanta
  • Toni Anwar
BuchProceedings of the 8th International Workshop on Quantitative Approaches to Software Quality co-located with 27th Asia-Pacific Software Engineering Conference (APSEC 2020)
TypIn Konferenzband

Code smells are patterns indicating bad practices that may lead to maintainability problems. For mobile applications most of the research has been done on Android applications with very little research on iOS applications. Our goal is to compare the variety, density, and distribution of code smells in iOS and Android applications. We analysed 273 open source iOS and 694 open source Android applications. We used PAPRIKA and GraphifySwift to find 19 object oriented code smells. We discovered that the distributions and proportions of code smells in iOS and Android applications differ. More specifically, we found: a) with the exception of one code smell (DistortedHierarchy) all code smells that could be observed in Android apps also occurred in iOS apps; b) the overall density of code smells is higher on iOS than on Android with LazyClass and DataClass particularly sticking out; c) with regards to frequency, code smells are more evenly distributed on iOS than on Android, and the distributions of code smell occurrences on class level are more different between the platforms than on app level.