Analysis and formal specification of OpenJDK's BitSet: Proof files

Andy S. Tatman*, Hans Dieter A. Hiep, Stijn de Gouw

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

This artifact [1] (accompanying our iFM 2023 paper [2]) describes the software we developed that contributed towards our analysis of OpenJDK's BitSet class. This class represents a vector of bits that grows as needed. Our analysis exposed numerous bugs. In our paper, we proposed and compared a number of solutions supported by formal specifications. Full mechanical verification of the BitSet class is not yet possible due to limited support for bitwise operations in KeY and bugs in BitSet. Our artifact contains proofs for a subset of the methods and new proof rules to support bitwise operators.

Original languageEnglish
Article number103232
JournalScience of Computer Programming
Volume241
DOIs
Publication statusPublished - Apr 2025

Keywords

  • Formal specification
  • Java/OpenJDK
  • JML
  • KeY
  • Testing

Fingerprint

Dive into the research topics of 'Analysis and formal specification of OpenJDK's BitSet: Proof files'. Together they form a unique fingerprint.

Cite this