【24h】

A Graph-based Approach to API Usage Adaptation

机译:一种基于图的API使用适应方法

获取原文
获取原文并翻译 | 示例

摘要

Reusing existing library components is essential for reducing the cost of software development and maintenance. When library components evolve to accommodate new feature requests, to fix bugs, or to meet new standards, the clients of software libraries often need to make corresponding changes to correctly use the updated libraries. Existing API usage adaptation techniques support simple adaptation such as replacing the target of calls to a deprecated API, however, cannot handle complex adaptations such as creating a new object to be passed to a different API method, or adding an exception handling logic that surrounds the updated API method calls. This paper presents LibSync that guides developers in adapting API usage code by learning complex API usage adaptation patterns from other clients that already migrated to a new library version (and also from the API usages within the library's test code). LibSync uses several graph-based techniques (1) to identify changes to API declarations by comparing two library versions, (2) to extract associated API usage skeletons before and after library migration, and (3) to compare the extracted API usage skeletons to recover API usage adaptation patterns. Using the learned adaptation patterns, LibSync recommends the locations and edit operations for adapting API usages. The evaluation of LibSync on real-world software systems shows that it is highly correct and useful with a precision of 100% and a recall of 91 %.
机译:重用现有的库组件对于降低软件开发和维护成本至关重要。当库组件发展为适应新功能请求,修复错误或满足新标准时,软件库的客户端通常需要进行相应的更改才能正确使用更新的库。现有的API使用适应技术支持简单的适应,例如替换已弃用的API的调用目标,但是,无法处理复杂的适应,例如创建要传递给不同API方法的新对象,或添加围绕该API的异常处理逻辑。更新的API方法调用。本文介绍了LibSync,它通过从已经迁移到新库版本的其他客户端(以及库的测试代码中的API用法)学习复杂的API用法适应模式,从而指导开发人员调整API用法代码。 LibSync使用几种基于图的技术(1)通过比较两个库版本来识别API声明的更改;(2)在库迁移之前和之后提取相关的API使用框架;(3)比较提取的API使用框架以进行恢复API使用情况调整模式。使用学习到的适应模式,LibSync会推荐位置和编辑操作以适应API的使用。在实际软件系统上对LibSync的评估表明,它非常正确且有用,精度为100%,召回率为91%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号