van der Berg, F.I. and Laarman, A.W.
SpinS: Extending LTSmin with Promela through SpinJa.
In: 11th International Workshop on Parallel and Distributed Methods in verifiCation, PDMC 2012, 17 Sept. 2012, London, UK.
Electronic Notes in Theoretical Computer Science.
Full text available as:
We show how PROMELA can be supported by the high-performance generic model checking tools of LTSMIN.
The success of the SPIN model checker has made PROMELA an important modeling language. SPINJA was created as a Java implementation of SPIN, in an effort to make the model checker easily extendible and reusable while maintaining some of its efficiency. While these goals where certainly met, the downside of SPINJA remained its dependability on Java, degrading performance with a factor 5 and obstructing support for embedded C code in PROMELA models.
LTSMIN aims at language-independence through the definition of the generic PINS interface. The toolset has shown that a generic model checker can indeed be competitive in terms of efficiency by supporting several languages from different paradigms and implementing many analysis algorithms that compete with other state-of-the-art model checkers.
We extended SPINJA to emit C code that implements the PINS interface. We also improved PROMELA support in SPINJA, greatly extending the support of models beyond toy and academic examples. In this paper, we demonstrate the usage of LTSMIN’s analysis algorithms: multi-core model checking of assertion violations, deadlocks and never claims (full LTL), inspection of error trails, partial order reduction, state compression, symbolic reachability and distributed reachability. Our experiments show that the performance of these methods beats other leading model checkers.
|Item Type:||Conference or Workshop Paper (Full Paper, Talk)|
|Research Group:||EWI-FMT: Formal Methods and Tools|
|Research Program:||CTIT-DSN: Dependable Systems and Networks|
|Research Project:||CEDICT: 3TU Center of Excellence for ICT|
|Status:||Accepted for publication|
|Deposited On:||18 July 2012|
Export this item as:
To correct this item please ask your editor
Repository Staff Only: edit this item