首页> 外文期刊>Journal of Automated Reasoning >Verifying OpenJDK's Sort Method for Generic Collections
【24h】

Verifying OpenJDK's Sort Method for Generic Collections

机译:验证OpenJDK的通用集合的排序方法

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

摘要

TimSort is the main sorting algorithm provided by the Java standard library and many other programming frameworks. Our original goal was functional verification of TimSort with mechanical proofs. However, during our verification attempt we discovered a bug which causes the implementation to crash by an uncaught exception. In this paper, we identify conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise performance. We formally specify the new version and verify termination and the absence of exceptions including the bug. This verification is carried out mechanically with KeY, a state-of-the-art interactive verification tool for Java. We provide a detailed description and analysis of the proofs. The complexity of the proofs required extensions and new capabilities in KeY, including symbolic state merging.
机译:TimSort是Java标准库和许多其他编程框架提供的主要排序算法。我们最初的目标是通过机械证明对TimSort进行功能验证。但是,在我们进行验证的过程中,我们发现了一个错误,该错误导致实现因未捕获的异常而崩溃。在本文中,我们确定了发生错误的条件,并由此得出了不影响性能的无错误版本。我们正式指定新版本,并确认终止以及是否存在异常(包括错误)。该验证是使用KeY(一种用于Java的最新交互式验证工具)机械地进行的。我们提供对证明的详细描述和分析。证明的复杂性要求在KeY中进行扩展和提供新功能,包括符号状态合并。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号