International Symposium on Empirical Software Engineering and Measurement
Résumé
Currently, more than 2 million applications are published on Google Play, the official store of Android applications, which makes the Android platform the largest mobile platform. Although the majority of Android application has been written in Java, since 2017 when Google announced Kotlin as an official programming language of the Android platform, developers have an option of write applications using Kotlin, that combines object-oriented and functional features. Objective: The goal of this paper is to understand the usage of Kotlin features. Particularly, we interested in four aspects of features usage: i) which features are adopted, ii) what is the degree of adoption, iii) when these features are added into the Android applications for the first time, iv) which are the features first introduced, and v) how the usage of features evolves along with applications' evolution. Method: To analyze the usage of Kotlin features, we inspect the source code of Kotlin application. To study how a feature is used along the life-cycle of a given mobile application, we identify the Kotlin features used on each version of that application. We also compute the moment that each feature is used for the first time. Finally, we identify the evolution trend that better describes that usage of a given feature. Results: Our experiment showed that 15 out of 19 features are used on at least 50% of Android applications written in Kotlin. Moreover, we found that type inference, lambda and safe call are the most used features, being found on 98%, 93% and 84% of applications, respectively. Also, we observed that the most used Kotlin features are those first used on Android applications. Finally, we reported that the majority of applications tend to increase the number of instances of 18 out of 19 studied features along with the evolution of Android applications