OpenJDK’s Java.utils.Collection.sort() Is Broken: The good, the bad and the worst case

54Citations
Citations of this article
25Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

We investigate the correctness of TimSort, which is the main sorting algorithm provided by the Java standard library. The goal is functional verification with mechanical proofs. During our verification attempt we discovered a bug which causes the implementation to crash. We characterize the conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise the performance. We formally specify the new version and mechanically verify the absence of this bug with KeY, a state-of-the-art verification tool for Java.

Cite

CITATION STYLE

APA

de Gouw, S., Rot, J., de Boer, F. S., Bubel, R., & Hähnle, R. (2015). OpenJDK’s Java.utils.Collection.sort() Is Broken: The good, the bad and the worst case. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9206, pp. 273–289). Springer Verlag. https://doi.org/10.1007/978-3-319-21690-4_16

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free