首页> 外文会议>2011 27th IEEE International Conference on Software Maintenance >Graph-based detection of library API imitations
【24h】

Graph-based detection of library API imitations

机译:基于图的库API模仿检测

获取原文

摘要

It has been a common practice nowadays to employ third-party libraries in software projects. Software libraries encapsulate a large number of useful, well-tested and robust functions, so that they can help improve programmers' productivity and program quality. To interact with libraries, programmers only need to invoke Application Programming Interfaces (APIs) exported from libraries. However, programmers do not always use libraries as effectively as expected in their application development. One commonly observed phenomenon is that some library behaviors are re-implemented by client code. Such re-implementation, or imitation, is not just a waste of resource and energy, but its failure to abstract away similar code also tends to make software error-prone. In this paper, we propose a novel approach based on trace subsumption relation of data dependency graphs to detect imitations of library APIs for achieving better software maintainability. Furthermore, we have implemented a prototype of this approach and applied it to ten large real-world open-source projects. The experiments show 313 imitations of explicitly imported libraries with high precision average of 82%, and 116 imitations of static libraries with precision average of 75%.
机译:如今,在软件项目中使用第三方库已成为一种普遍做法。软件库封装了大量有用,经过测试和健壮的功能,因此它们可以帮助提高程序员的生产率和程序质量。要与库进行交互,程序员仅需要调用从库导出的应用程序编程接口(API)。但是,程序员在应用程序开发中并不总是像预期的那样有效地使用库。一种普遍观察到的现象是某些库行为由客户端代码重新实现。这种重新实现或模仿不仅浪费资源和精力,而且由于无法抽象出相似的代码,也容易使软件易于出错。在本文中,我们提出了一种基于数据依赖图的跟踪包含关系来检测库API模仿的新方法,以实现更好的软件可维护性。此外,我们已经实现了这种方法的原型,并将其应用于十个大型现实世界中的开源项目。实验显示了313个模仿的显式导入库,其平均精确度为82%,而116个模仿了静态库的模型,其平均准确度为75%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号