TY - GEN
T1 - Clone-based variability management in the android ecosystem
AU - Businge, John
AU - Openja, Moses
AU - Nadi, Sarah
AU - Bainomugisha, Engineer
AU - Berger, Thorsten
N1 - Publisher Copyright:
© 2018 IEEE.
PY - 2018/11/9
Y1 - 2018/11/9
N2 - Mobile app developers often need to create variants to account for different customer segments, payment models or functionalities. A common strategy is to clone (or fork) an existing app and then adapt it to new requirements. This form of reuse has been enhanced with the advent of social-coding platforms such as Github, cultivating a more systematic reuse. Different facilities, such as forks, pull requests, and cross-project traceability support clone-based development. Unfortunately, even though, many apps are known to be maintained in many variants, little is known about how practitioners manage variants of mobile apps. We present a study that explores clone-based reuse practices for open-source Android apps. We identified and analyzed families of apps that are maintained together and that exist both on the official app store (Google Play) as well as on Github, allowing us to analyze reuse practices in depth. We mined both repositories to identify app families and to study their characteristics, including their variabilities as well as code-propagation practices and maintainer relationships. We found that, indeed, app families exist and that forked app variants fall into the following categories: (i) re-branding and simple customizations, (ii) feature extension, (iii) supporting of the mainline app, and (iv) implementation of different, but related features. Other notable characteristic of the app families we discovered include: (i) 72.7% of the app families did not perform any form of code propagation, and (ii) 74% of the app families we studied do not have common maintainers.
AB - Mobile app developers often need to create variants to account for different customer segments, payment models or functionalities. A common strategy is to clone (or fork) an existing app and then adapt it to new requirements. This form of reuse has been enhanced with the advent of social-coding platforms such as Github, cultivating a more systematic reuse. Different facilities, such as forks, pull requests, and cross-project traceability support clone-based development. Unfortunately, even though, many apps are known to be maintained in many variants, little is known about how practitioners manage variants of mobile apps. We present a study that explores clone-based reuse practices for open-source Android apps. We identified and analyzed families of apps that are maintained together and that exist both on the official app store (Google Play) as well as on Github, allowing us to analyze reuse practices in depth. We mined both repositories to identify app families and to study their characteristics, including their variabilities as well as code-propagation practices and maintainer relationships. We found that, indeed, app families exist and that forked app variants fall into the following categories: (i) re-branding and simple customizations, (ii) feature extension, (iii) supporting of the mainline app, and (iv) implementation of different, but related features. Other notable characteristic of the app families we discovered include: (i) 72.7% of the app families did not perform any form of code propagation, and (ii) 74% of the app families we studied do not have common maintainers.
KW - App families
KW - Github forks
KW - mobile apps
KW - software ecosystems
KW - software reuse
KW - software variants
UR - http://www.scopus.com/inward/record.url?scp=85058317818&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85058317818&partnerID=8YFLogxK
U2 - 10.1109/ICSME.2018.00072
DO - 10.1109/ICSME.2018.00072
M3 - Conference contribution
AN - SCOPUS:85058317818
T3 - Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution, ICSME 2018
SP - 625
EP - 634
BT - Proceedings - 2018 IEEE International Conference on Software Maintenance and Evolution, ICSME 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 34th IEEE International Conference on Software Maintenance and Evolution, ICSME 2018
Y2 - 23 September 2018 through 29 September 2018
ER -