1. To Split or to Group: From Divide-and-Conquer to Sub-Task Sharing for Verifying Multiple Properties in Model Checking
- Author
-
Paolo Camurati, Paolo Pasini, Stefano Quer, Carmelo Loiacono, Marco Palena, Gianpiero Cabodi, and Denis Patti
- Subjects
Model checking ,Divide and conquer algorithms ,Correctness ,Theoretical computer science ,Computer science ,Heuristic ,Distributed computing ,02 engineering and technology ,020202 computer hardware & architecture ,clustering algorithms, design automation, digital circuits, formal verification, hardware ,digital circuits ,design automation ,0202 electrical engineering, electronic engineering, information engineering ,Overhead (computing) ,hardware ,020201 artificial intelligence & image processing ,Heuristics ,Cluster analysis ,clustering algorithms ,formal verification ,Formal verification ,Software ,Information Systems - Abstract
Hardware systems complexity has constantly increased in recent years. Guaranteeing their correctness is a must. Formal verification techniques, such as model checking, now play a major role in industrial environments. Their efficiency in dealing with large sets of properties is crucial. This paper deals with property grouping, decomposition, and coverage in model checking. Property grouping is a valuable solution whenever several properties must be proved for a single model. As such sets may include “easy-to-prove” and/or “similar” properties, grouping can reduce overhead avoiding sub-tasks repetition. Property decomposition, following the divide-and-conquer paradigm, can be effective whenever a property turns out to be “hard-to-prove.” Our contribution is a heuristic property manager, running on top of a multi-engine model checking portfolio, aiming at productivity optimization. We compare different clustering heuristics, and we exploit decomposition strategies for property sub-setting. We also consider the problem of evaluating a coverage measure for properties, used to monitor the “advancement” of the verification task.
- Published
- 2018