Validating assertion language rewrite rules and semantics with automated theorem provers

  • Authors:
  • Katell Morin-Allory;Marc Boulé;Dominique Borrione;Zeljko Zilic

  • Affiliations:
  • Grenoble Institute of Technology, Grenoble, France;École de Technologie Supérieure, Montreal, QC, Canada;Polytech Department, Joseph Fourier University, Grenoble, France;Department of Electrical Engineering, McGill University, Montreal, QC, Canada

  • Venue:
  • IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.03

Visualization

Abstract

Modern assertion languages such as property specification language (PSL) and System Verilog assertions include many language constructs. By far, the most economical way to process the full languages in automated tools is to rewrite the majority of operators to a small set of base cases, which are then processed in an efficient way. Since recent rewrite attempts in the literature have shown that the rules could be quite involved, sometimes counterintuitive, and that they can make a significant difference in the complexity of interpreting assertions, ensuring that the rewrite rules are correct is a major contribution toward ensuring that the tools are correct, and even that the semantics of the assertion languages are well founded. This paper outlines the methodology for computer-assisted proofs of several publicly known rewrite rules for PSL properties. We first present the ways to express the PSL syntax and semantics in the prototype verification system (PVS) theorem prover, and then prove or disprove the correctness of over 50 rewrite rules published without proofs in various sources in the literature. In doing so, we also demonstrate how to circumvent known issues with PSL semantics regarding the never and eventually! operators, and offer our proposals on assertion language semantics.