Memory-efficient algorithms for the verification of temporal properties
Formal Methods in System Design - Special issue on computer-aided verification: general methods
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Parallel Randomized State-Space Search
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Design of a Multicore Extension of the SPIN Model Checker
IEEE Transactions on Software Engineering
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
Tackling Large Verification Problems with the Swarm Tool
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
A Time-Optimal On-the-Fly Parallel Algorithm for Model Checking of Weak LTL Properties
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
BEEM: benchmarks for explicit model checkers
Proceedings of the 14th international SPIN conference on Model checking software
Scalable shared memory LTL model checking
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on SPIN 07
DiVinE: Parallel Distributed Model Checker
PDMC-HIBI '10 Proceedings of the 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology
Multi-core LTSmin: marrying modularity and scalability
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Boosting multi-core reachability performance with shared hash tables
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Parallel nested depth-first searches for LTL model checking
ATVA'11 Proceedings of the 9th international conference on Automated technology for verification and analysis
A note on on-the-fly verification algorithms
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Parallel nested depth-first searches for LTL model checking
ATVA'11 Proceedings of the 9th international conference on Automated technology for verification and analysis
Designing fast LTL model checking algorithms for many-core GPUs
Journal of Parallel and Distributed Computing
Improved multi-core nested depth-first search
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
An experiment on parallel model checking of a CTL fragment
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
Multi-core reachability for timed automata
FORMATS'12 Proceedings of the 10th international conference on Formal Modeling and Analysis of Timed Systems
Multi-core emptiness checking of timed Büchi automata using inclusion abstraction
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Distributed LTL Model Checking with Hash Compaction
Electronic Notes in Theoretical Computer Science (ENTCS)
SpinS: Extending LTSmin with Promela through SpinJa
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The LTL Model Checking problem is reducible to finding accepting cycles in a graph. The Nested Depth-First Search (Ndfs) algorithm detects accepting cycles efficiently: on-the-fly, with linear-time complexity and negligible memory overhead. The only downside of the algorithm is that it relies on an inherently-sequential, depth-first search. It has not been parallelized beyond running the independent nested search in a separate thread (dual core). In this paper, we introduce, for the first time, a multi-core Ndfs algorithm that can scale beyond two threads, while maintaining exactly the same worst-case time complexity. We prove this algorithm correct, and present experimental results obtained with an implementation in the LTSmin tool set on the entire Beem benchmark database. We measured considerable speedups compared to the current state of the art in parallel cycle detection algorithms.