Verifying OpenJDK's Sort Method for Generic Collections

The work

TitleVerifying OpenJDK's Sort Method for Generic Collections
AuthorsStijn de Gouw; Frank S. de Boer; Richard Bubel; Reiner Hähnle; Jurriaan Rot; Dominic Steinhöfel
Typearticle
Year2019
Citekeygouw2019verifying

Where it appeared

Published inJournal of Automated Reasoning
PublisherSpringer
Volume62
Issue1
Pages93--126

Identifiers

DOI10.1007/s10817-017-9426-4
OpenAlexW2751853904

Access

Landing pagehttps://doi.org/10.1007/s10817-017-9426-4
Free full texthttps://link.springer.com/content/pdf/10.1007/s10817-017-9426-4.pdf

Abstract

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.

Copy held

KindPDF, 1.2 MB
Retrieved2026-08-08
Heldlocal, for personal reference
Where it came fromhttps://link.springer.com/content/pdf/10.1007/s10817-017-9426-4.pdf?error=cookies_not_supported&code=bb8e7bb5-5fd5-41ee-9f68-2e1aca14dc15

Where this came from

How it got herethe agent went looking · found via openalex
First seen2026-08-04
Recordreviewed by a person
Approved2026-08-08

Cite it as

@article{gouw2019verifying,
  title = {Verifying OpenJDK's Sort Method for Generic Collections},
  author = {Stijn de Gouw and Frank S. de Boer and Richard Bubel and Reiner Hähnle and Jurriaan Rot and Dominic Steinhöfel},
  year = {2019},
  journal = {Journal of Automated Reasoning},
  volume = {62},
  number = {1},
  pages = {93--126},
  publisher = {Springer},
  doi = {10.1007/s10817-017-9426-4},
  url = {https://link.springer.com/content/pdf/10.1007/s10817-017-9426-4.pdf},
}

This record lives at https://refs.drheap.org/gouw2019verifying/ and will keep doing so.