Software Verification for Weak Memory via Program Transformation
Logic in Computer Science
2012-08-01 v1 Software Engineering
Abstract
Despite multiprocessors implementing weak memory models, verification methods often assume Sequential Consistency (SC), thus may miss bugs due to weak memory. We propose a sound transformation of the program to verify, enabling SC tools to perform verification w.r.t. weak memory. We present experiments for a broad variety of models (from x86/TSO to Power/ARM) and a vast range of verification tools, quantify the additional cost of the transformation and highlight the cases when we can drastically reduce it. Our benchmarks include work-queue management code from PostgreSQL.
Cite
@article{arxiv.1207.7264,
title = {Software Verification for Weak Memory via Program Transformation},
author = {Jade Alglave and Daniel Kroening and Vincent Nimal and Michael Tautschnig},
journal= {arXiv preprint arXiv:1207.7264},
year = {2012}
}