Work

Formal Verification of COO to CSR Sparse Matrix Conversion (Invited Paper)

Year: 2025
Type: article
Abstract: We describe a machine-checked correctness proof of a C program that converts a coordinate-form (COO) sparse matrix to a compressed-sparse-row (CSR) matrix.The classic algorithm (sort the COO entries in lexicographic order by row,column; fill in the CSR arrays left to right) is concise but has rather intricate invariants.We illustrate a bottom-up methodology for deriving the invariants from the program.* This paper accompanies my keynote lecture "Foundational End-to-end Verification of Numerical Programs" at VSS 2025, the International Workshop on Verification of Scientific Software; and covers one of the results described in that talk.1 Barret et al.[3] describe CSR (which they called "compressed row storage") but do not mention COO nor the method of constructing CSR matrices-however, if CSR matrices were in use then there must have been a method of constructing them.
Language: English
Open Access status: diamond
OpenAlex ID: W4415169259
FWCI:
Cites:
Cited by:
Related to: