@article{eprints1345, title = {Improving Reachability Analysis of Infinite State Systems by Specialization }, year = {2012}, volume = {119}, pages = {281--300}, number = {3-4}, journal = {Fundamenta Informaticae}, publisher = {IOS Press}, note = {Presented at International Workshop on Concurrency, Specification, and Programming CS\&P 2011, 28-30 September 2011, Pultusk, Poland}, author = {Fabio Fioravanti and Alberto Pettorossi and Maurizio Proietti and Valerio Senni}, abstract = {We consider infinite state reactive systems specified by using linear constraints over the integers, and we address the problem of verifying safety properties of these systems by applying reachability analysis techniques. We propose a method based on program specialization, which improves the effectiveness of the backward and forward reachability analyses. For backward reachability our method consists in: (i) specializing the reactive system with respect to the initial states, and then (ii) applying to the specialized system the reachability analysis that works backwards from the unsafe states. For reasons of efficiency, during specialization we make use of a relaxation from integers to reals. In particular, we test the satisfiability or entailment of constraints over the real numbers, while preserving the reachability properties of the reactive systems when constraints are interpreted over the integers. For forward reachability our method works as for backward reachability, except that the role of the initial states and the unsafe states are interchanged. We have implemented our method using the MAP transformation system and the ALV verification system. Through various experiments performed on several infinite state systems, we have shown that our specialization-based verification technique considerably increases the number of successful verifications without a significant degradation of the time performance.}, url = {http://eprints.imtlucca.it/1345/}, keywords = {Reachability analysis, automatic verification, program transformation, constraint logic programming } }