Specifying and verifying sparse matrix codes

  • Authors:
  • Gilad Arnold;Johannes Hölzl;Ali Sinan Köksal;Rastislav Bodík;Mooly Sagiv

  • Affiliations:
  • University of California, Berkeley, Berkeley, CA, USA;Technische Universität München, Munich, Germany;École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland;Univeristy of California, Berkeley, Berkeley, CA, USA;Tel Aviv University, Tel Aviv, Israel

  • Venue:
  • Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.