首页> 外文期刊>Empirical Software Engineering >API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques
【24h】

API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques

机译:Android中的API兼容性问题:数据驱动检测技术的原因和有效性

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To support app developers,approaches have been proposed to automatically identify API compatibility issues. CiD,the state-of-the-art approach,is a data-driven solution learning how to detect those issues by analyzing the change history of Android APIs ("API side" learning). In this paper (extension of our MSR 2019 paper),we present an alternative data-driven approach,named ACRyL. ACRyL learns from changes implemented in apps in response to API changes ("client side" learning). When comparing these two solutions on 668 apps,for a total of 11,863 snapshots,we found that there is no clear winner,since the two techniques are highly complementary,and none of them provides a comprehensive support in detecting API compatibility issues: ACRyL achieves a precision of 7.0% (28.0%,when considering only the severe warnings),while CiD achieves a precision of 18.4%. This calls for more research in this field,and led us to run a second empirical study in which we manually analyze 500 pull-requests likely related to the fixing of compatibility issues,documenting the mot cause behind the fixed issue. The most common causes are related to changes in the Android APIs (~ 87%),while about 13% of the issues are related to external causes,such as build and distribution,dependencies,and the app itself. The provided empirical knowledge can inform the building of better tools for the detection of API compatibility issues.
机译:Android碎片是一个众所周知的问题,参考支持这种操作系统的多种设备中的不同版本。每个Android版本都有一组提供给开发人员的API。这些API可能会有所变化,可能导致兼容性问题。为了支持应用程序开发人员,已提出方法自动识别API兼容性问题。 CID,最先进的方法,是一种数据驱动的解决方案,学习如何通过分析Android API的变化历史来检测这些问题(“API侧”学习)。在本文中(我们的MSR 2019纸张延伸),我们呈现了一种名为Acryl的替代数据驱动方法。 acryl从应用程序中实现的更改学习,以响应API更改(“客户端”学习)。在668个应用程序中比较这两个解决方案时,总共11,863个快照,我们发现没有明确的赢家,因为这两种技术是高度互补的,因此它们都没有在检测API兼容性问题方面提供全面的支持:Acryl实现了一个精度为7.0%(28.0%,只考虑严重的警告),CID达到18.4%的精度。这次要求在这一领域进行更多研究,并导致我们运行第二次实证研究,其中我们手动分析了与修复兼容性问题的可能相关的500个拉动请求,记录了MOT原因在固定问题后面。最常见的原因与Android API的变化有关(〜87%),而大约13%的问题与外部原因有关,例如构建和分发,依赖关系和应用程序本身。提供的经验知识可以为建立更好的工具来检测API兼容性问题。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号