TY - JOUR
T1 - An empirical study of configuration changes and adoption in Android apps
AU - Jha, Ajay Kumar
AU - Lee, Sunghee
AU - Lee, Woo Jin
N1 - Publisher Copyright:
© 2019
PY - 2019/10
Y1 - 2019/10
N2 - Android platform is evolving rapidly. Therefore, evolution and maintenance of Android apps are major concerns among developers. One of the essential components of each app is an Android manifest file, which is a configuration file used to declare various key attributes of apps. This paper presents an empirical study to understand app evolution through configuration changes. The results of this study will help developers in identifying change-proneness attributes, including change patterns and the reason behind the change, understanding the adoption of different attributes introduced in different versions of the Android platform, and understanding effort distribution pattern in configuration changes and taking proactive measures to reduce the effort. In this paper, we use a data mining approach. We analyze commit histories of Android manifest files of 908 apps to understand the app evolution. The results of this study show that most of the apps extend core functionalities and improve user interface over time, configuration changes are mostly influenced by functionalities extension, platform evolution, and bug reports, very few numbers of existing apps adopt new attributes introduced by the platform, apps are generally slow in adopting new attributes, and significant effort is wasted in changing configuration and then reverting back the change.
AB - Android platform is evolving rapidly. Therefore, evolution and maintenance of Android apps are major concerns among developers. One of the essential components of each app is an Android manifest file, which is a configuration file used to declare various key attributes of apps. This paper presents an empirical study to understand app evolution through configuration changes. The results of this study will help developers in identifying change-proneness attributes, including change patterns and the reason behind the change, understanding the adoption of different attributes introduced in different versions of the Android platform, and understanding effort distribution pattern in configuration changes and taking proactive measures to reduce the effort. In this paper, we use a data mining approach. We analyze commit histories of Android manifest files of 908 apps to understand the app evolution. The results of this study show that most of the apps extend core functionalities and improve user interface over time, configuration changes are mostly influenced by functionalities extension, platform evolution, and bug reports, very few numbers of existing apps adopt new attributes introduced by the platform, apps are generally slow in adopting new attributes, and significant effort is wasted in changing configuration and then reverting back the change.
KW - Android app evolution
KW - App maintenance
KW - Configuration changes
KW - Effort estimation
KW - Permission evolution
UR - http://www.scopus.com/inward/record.url?scp=85068077797&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2019.06.095
DO - 10.1016/j.jss.2019.06.095
M3 - Article
AN - SCOPUS:85068077797
SN - 0164-1212
VL - 156
SP - 164
EP - 180
JO - Journal of Systems and Software
JF - Journal of Systems and Software
ER -