Verification of Parameterized Systems using Supercompilation

Verification of Parameterized Systems
using Supercompilation
Alexei Lisitsa
& Andrei Nemytykh
Department of Computer Science, the University of Liverpool,
Liverpool, UK
Program System Institute, Russian Academy of Sciences,
Pereslavl-Zalessky, Russia
• We present an approach to the verification of
parameterized systems which is based on program
transformation technique known as supercompilation
• We translate the statements about safety properties of a
system to be verified into the statements about properties
of the program that simulates and tests the system.
• The supercompilation is used then to establish the
required properties of the program, like “the program
never returns the value False”.
• Supercompiler SCP4 for the functional programming
language Refal is used for experiments.
Parameterized testing
• Let S be a parameterized system (protocol) and we would
like to establish some safety property P of S.
• We write a program F simulating execution of S for n
steps, where n is an input parameter. If the system is
non-deterministic, an additional parameter x is provided.
• Let T be a testing program, which given a state s of S
returns the result of testing the property P on s (True or
• Now the statement "the safety property P holds in any
possible state reachable by the execution of the system S
is equivalent to the statement "the program T(F(n, x))
never returns the value False, no matter what values are
given to the input parameters".