Specifying and verifying sparse matrix codes

Gilad Arnold, Johannes Hölzl, Ali Sinan Köksal, Rastislav Bodík, Mooly Sagiv

Research output: Contribution to journalArticlepeer-review


Sparse matrix formats are typically implemented with low-level imperative programs. The optimized nature of these implementations hides the structural organization of the sparse format and complicates its verification. We define a variable-free functional language (LL) in which even advanced formats can be expressed naturally, as a pipeline-style composition of smaller construction steps. We translate LL programs to Isabelle/HOL and describe a proof system based on parametric predicates for tracking relationship between mathematical vectors and their concrete representations. This proof theory automatically verifies full functional correctness of many formats. We show that it is reusable and extensible to hierarchical sparse formats.

Original languageEnglish
Pages (from-to)249-260
Number of pages12
JournalACM SIGPLAN Notices
Issue number9
StatePublished - Sep 2010


Dive into the research topics of 'Specifying and verifying sparse matrix codes'. Together they form a unique fingerprint.

Cite this