Embedding and Verification of PSL using AsmL

In this paper, we propose a methodology to integrate the Property Specification Language (PSL) in the verification process of systems designed using Abstract States Machines (ASMs). We provide a complete embedding of PSL in the ASM language AsmL, which allows us to integrate PSL properties as part of the design. For the verification, we propose a technique based on the AsmL tool that translates the code containing both the design and the properties into a finite state machine (FSM) representation. We use the generated FSM to run model checking on an external tool, here SMV. Our approach takes advantage of the AsmL language capabilities to model designs at the system level as well as from the power of the AsmL tool in generating both a C# code and an FSM representation from an AsmL model. We applied our approach on SystemC designs, which are translated into AsmL models. Experimental results on a bus structure case study provided in the SystemC library showed a superiority of our approach to conventional verification.

[1]  Horatiu Jula ASM Semantics for C++ 2.0 , 2005, Abstract State Machines.

[2]  Sofiène Tahar,et al.  On the Transformation of SystemC to AsmL Using Abstract Interpretation , 2005, Electron. Notes Theor. Comput. Sci..

[3]  Sofiène Tahar,et al.  Formal verification of ASM designs using the MDG tool , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[4]  Egon Börger,et al.  A high-level modular definition of the semantics of C# , 2005, Theor. Comput. Sci..

[5]  Wolfgang Rosenstiel,et al.  SystemC: methodologies and applications , 2003 .

[6]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[7]  Marc Spielmann Automatic Verification of Abstract State Machines , 1999, CAV.

[8]  Egon Börger,et al.  An ASM Specification of C# Threads and the .NET Memory Model , 2004, Abstract State Machines.

[9]  Koen Claessen,et al.  An Operational Semantics for Weak PSL , 2004, FMCAD.

[10]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[11]  Horatiu Jula,et al.  An Executable Specification of C++ , 2005, Abstract State Machines.

[12]  Sofiène Tahar,et al.  Enabling SystemC Verification using Abstract State Machines , 2004, FDL.

[13]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[14]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[15]  Kirsten Winter,et al.  Model Checking for Abstract State Machines , 2008, J. Univers. Comput. Sci..

[16]  Joe Hurd,et al.  Executing the Formal Semantics of the Accellera Property Specification Language by Mechanised Theorem Proving , 2003, CHARME.

[17]  Michael J. C. Gordon,et al.  Validating the PSL/Sugar Semantics Using Automated Reasoning , 2003, Formal Aspects of Computing.

[18]  Margus Veanes,et al.  Generating finite state machines from abstract state machines , 2002, ISSTA '02.