# On the adoption, usage and evolution of Kotlin Features on Android   development

**Authors:** Bruno G\'ois Mateus, Matias Martinez

arXiv: 1907.09003 · 2020-07-29

## TL;DR

This study analyzes how Kotlin features are adopted and evolve in Android apps, revealing usage patterns, timing of feature adoption, and trends in feature usage over application development.

## Contribution

It provides an empirical analysis of Kotlin feature adoption in Android applications, highlighting which features are most used and how their usage evolves over time.

## Key findings

- 15 out of 26 features are used in over 50% of apps
- Type inference, lambda, and safe call are the most used features
- Most applications add more instances of features as they evolve

## Abstract

Background: Google announced Kotlin as an Android official programming language in 2017, giving developers an option of writing applications using a language that combines object-oriented and functional features. Aims: The goal of this work is to understand the usage of Kotlin features considering four aspects: i) which features are adopted, ii) what is the degree of adoption, iii)when are these features added into Android applications for the first time, and iv) how the usage of features evolves along with applications' evolution. Method: Exploring the source code of 387 Android applications, we identify the usage of Kotlin features on each version application's version and compute the moment that each feature is used for the first time. Finally, we identify the evolution trend that better describes the usage of these features. Results: 15 out of 26 features are used on at least 50% of applications. Moreover, we found that type inference, lambda and safe call are the most used features. Also, we observed that the most used Kotlin features are those first included on Android applications. Finally, we report that the majority of applications tend to add more instances of 24 out of 26 features along with their evolution. {\bf Conclusions:} Our study generates 7 main findings. We present their implications, which are addressed to developers, researchers and tool builders in order to foster the use of Kotlin features to develop Android applications.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1907.09003/full.md

## Figures

15 figures with captions in the complete paper: https://tomesphere.com/paper/1907.09003/full.md

## References

47 references — full list in the complete paper: https://tomesphere.com/paper/1907.09003/full.md

---
Source: https://tomesphere.com/paper/1907.09003