首页> 外文OA文献 >Statically Checking API Protocol Conformance with Mined Multi-Object Specifications
【2h】

Statically Checking API Protocol Conformance with Mined Multi-Object Specifications

机译:通过挖掘的多对象规范静态检查API协议符合性

摘要

Programmers using an API often must follow protocols that specify when it is legal to call particular methods. Several techniques have been proposed to find violations of such protocols based on mined specifications. However, existing techniques either focus on single-object protocols or on particular kinds of bugs, such as missing method calls. There is no practical technique to find multi-object protocol bugs without a priori known specifications. In this paper, we combine a dynamic analysis that infers multi-object protocols and a static checker of API usage constraints into a fully automatic protocol conformance checker. The combined system statically detects illegal uses of an API without human-written specifications. Our approach finds 41 bugs and code smells in mature, real-world Java programs with a true positive rate of 51%. Furthermore, we show that the analysis reveals bugs not found by state of the art approaches.
机译:使用API​​的程序员通常必须遵循指定何时调用特定方法合法的协议。已经提出了几种技术,以基于挖掘的规范来发现对这种协议的违反。但是,现有技术要么专注于单对象协议,要么专注于特定类型的错误,例如缺少方法调用。没有先验的已知规范,没有找到多对象协议错误的实用技术。在本文中,我们将推理多对象协议的动态分析和API使用约束的静态检查器组合到一个全自动协议一致性检查器中。组合后的系统可以静态检测没有人工编写规范的API的非法使用。我们的方法在成熟的,现实世界中的Java程序中发现了41个错误和代码气味,真正的肯定率为51%。此外,我们表明该分析揭示了现有技术方法中未发现的错误。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号