An empirical study of API stability and adoption in the android ecosystem (bibtex)
by McDonnell, Tyler, Ray, Baishakhi and Kim, Miryung
Abstract:
When APIs evolve, clients make corresponding changes to their applications to utilize new or updated APIs. Despite the benefits of new or updated APIs, developers are often slow to adopt the new APIs. As a first step toward under- standing the impact of API evolution on software ecosystems, we conduct an in-depth case study of the co-evolution behavior of Android API and dependent applications using the version history data found in github. Our study confirms that Android is evolving fast at a rate of 115 API updates per month on average. Client adoption, how- ever, is not catching up with the pace of API evolution. About 28% of API references in client applications are outdated with a median lagging time of 16 months. 22% of outdated API usages eventually upgrade to use newer API versions, but the propagation time is about 14 months, much slower than the average API release interval (3 months). Fast evolving APIs are used more by clients than slow evolving APIs but the average time taken to adopt new versions is longer for fast evolving APIs. Further, API usage adaptation code is more defect prone than the one without API usage adaptation. This may indicate that developers avoid API instability.
Reference:
An empirical study of API stability and adoption in the android ecosystem (McDonnell, Tyler, Ray, Baishakhi and Kim, Miryung), In IEEE International Conference on Software Maintenance, ICSM, 2013.
Bibtex Entry:
@inproceedings{McDonnell2013,
abstract = {When APIs evolve, clients make corresponding changes to their applications to utilize new or updated APIs. Despite the benefits of new or updated APIs, developers are often slow to adopt the new APIs. As a first step toward under- standing the impact of API evolution on software ecosystems, we conduct an in-depth case study of the co-evolution behavior of Android API and dependent applications using the version history data found in github. Our study confirms that Android is evolving fast at a rate of 115 API updates per month on average. Client adoption, how- ever, is not catching up with the pace of API evolution. About 28{\%} of API references in client applications are outdated with a median lagging time of 16 months. 22{\%} of outdated API usages eventually upgrade to use newer API versions, but the propagation time is about 14 months, much slower than the average API release interval (3 months). Fast evolving APIs are used more by clients than slow evolving APIs but the average time taken to adopt new versions is longer for fast evolving APIs. Further, API usage adaptation code is more defect prone than the one without API usage adaptation. This may indicate that developers avoid API instability.},
author = {McDonnell, Tyler and Ray, Baishakhi and Kim, Miryung},
booktitle = {IEEE International Conference on Software Maintenance, ICSM},
doi = {10.1109/ICSM.2013.18},
isbn = {978-0-7695-4981-1},
issn = {1063-6773},
keywords = {application program interfaces;mobile computing;operating systems (computers);software maintenance;API evolution;API stability;API usage adaptation code;Android API coevolution behavior;Android ecosystem;github;software ecosystems;version history data;Androids;Google;History;Humanoid robots;Mobile communication;Smart phones;Software,cocome_lit-review},
mendeley-tags = {cocome_lit-review},
pages = {70--79},
title = {{An empirical study of API stability and adoption in the android ecosystem}},
year = {2013}
}
Powered by bibtexbrowser