arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2005.13220cs.SE
收藏

通过学习单个更新示例自动更新Android Deprecated-API使用情况

Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example

Stefanus Agus Haryono, Ferdian Thung, Hong Jin Kang, Lucas Serrano, Gilles Muller, Julia Lawall, David Lo, Lingxiao Jiang

摘要:

由于Android操作系统中的API已被弃用,开发人员必须更新API的用法,以确保其应用程序适用于过去和当前版本的Android。此类更新可能是广泛的、重要的且耗时的。因此,这种更新的自动化将对开发人员大有好处。AppEvolve是自动化此类更新的最先进工具,它依赖于更新前和更新后的示例来学习。在这项工作中,我们提出了一种名为CocciEvolve的方法,只使用一个单一的更新后的例子来执行这样的更新。CocciEvolve通过从更新后的示例中提取代码块的相关更新来学习编辑。从初步实验中,我们发现CocciEvolve可以成功执行112次更新中的96次,成功率为85%。

英文摘要:

Due to the deprecation of APIs in the Android operating system,developers have to update usages of the APIs to ensure that their applications work for both the past and current versions of Android.Such updates may be widespread, non-trivial, and time-consuming. Therefore, automation of such updates will be of great benefit to developers. AppEvolve, which is the state-of-the-art tool for automating such updates, relies on having before- and after-update examples to learn from. In this work, we propose an approach named CocciEvolve that performs such updates using only a single after-update example. CocciEvolve learns edits by extracting the relevant update to a block of code from an after-update example. From preliminary experiments, we find that CocciEvolve can successfully perform 96 out of 112 updates, with a success rate of 85%.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑