{"title":"Automated Predicate Abstraction for Real-Time Models","authors":"Bahareh Badban, S. Leue, J. Smaus","doi":"10.4204/EPTCS.10.3","DOIUrl":null,"url":null,"abstract":"Introduction Model checking has been widely successful in validating and debugging hardware de- signs and communication protocols. However, state-space explosion is an intrinsic problem which limits the applicability of model checking tools. To overcome this limitation software model checkers have suggested different approaches, among which abstraction methods have been highly esteemed. modern techniques. Among others, predicate abstraction is a prominent technique which has been widely used in modern model checking. This technique has been shown to enhance the effectiveness of the reachability computation technique in infinite-state systems. In this te chnique an infinite-state system is represented abstractly by a finite-state system, where states of the abst ract model correspond to the truth valuations of a chosen set of atomic predicates. Predicate abstraction was first introduced in (8) as a method for auto- matically determining invariant properties of infinite-st ate systems. This technique involves abstracting a concrete transition system using a set of formulas called predicates which usually denote some state properties of the concrete system. The practical applicability of predicate abstraction is im peded by two problems. First, predicates need to be provided manually (11, 7). This means that the selection of appropriate abstraction predicates is based on a user-driven trial-and-error process. The high degree of user intervention also stands in the way of a seamless integration into practical software development processes. Second, very often the abstraction is too coarse in order to allow relevant system properties to be verified. This calls for abstrac- tion refinement (6), often following a counterexample guide d abstraction refinement scheme (5, 3). Real time models are one example of systems with a large state space as time adds much complexity to the system. In this event, recently there have been increasing number of research to provide a means for the abstraction of such models. It is the objective of this paper to provide support for an automated predicate abstraction technique for concurrent dense real-time models according to the timed automaton model of (1). We propose a method to generate an efficient set of pred icates than a manual, ad-hoc process would be able to provide. We use the results from our recent work (2) to analyze the behavior of the system under verification to discover its local state invari ants and to remove transitions that can never be traversed. We then describe a method to compute a predicate abstraction based on these state invariants. We use information regarding the control state labels as well as the newly computed invariants in the considered control states when determining the abstraction predicates. We have developed a prototype","PeriodicalId":31175,"journal":{"name":"Infinity","volume":"60 1","pages":"36-43"},"PeriodicalIF":0.0000,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Infinity","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.10.3","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Introduction Model checking has been widely successful in validating and debugging hardware de- signs and communication protocols. However, state-space explosion is an intrinsic problem which limits the applicability of model checking tools. To overcome this limitation software model checkers have suggested different approaches, among which abstraction methods have been highly esteemed. modern techniques. Among others, predicate abstraction is a prominent technique which has been widely used in modern model checking. This technique has been shown to enhance the effectiveness of the reachability computation technique in infinite-state systems. In this te chnique an infinite-state system is represented abstractly by a finite-state system, where states of the abst ract model correspond to the truth valuations of a chosen set of atomic predicates. Predicate abstraction was first introduced in (8) as a method for auto- matically determining invariant properties of infinite-st ate systems. This technique involves abstracting a concrete transition system using a set of formulas called predicates which usually denote some state properties of the concrete system. The practical applicability of predicate abstraction is im peded by two problems. First, predicates need to be provided manually (11, 7). This means that the selection of appropriate abstraction predicates is based on a user-driven trial-and-error process. The high degree of user intervention also stands in the way of a seamless integration into practical software development processes. Second, very often the abstraction is too coarse in order to allow relevant system properties to be verified. This calls for abstrac- tion refinement (6), often following a counterexample guide d abstraction refinement scheme (5, 3). Real time models are one example of systems with a large state space as time adds much complexity to the system. In this event, recently there have been increasing number of research to provide a means for the abstraction of such models. It is the objective of this paper to provide support for an automated predicate abstraction technique for concurrent dense real-time models according to the timed automaton model of (1). We propose a method to generate an efficient set of pred icates than a manual, ad-hoc process would be able to provide. We use the results from our recent work (2) to analyze the behavior of the system under verification to discover its local state invari ants and to remove transitions that can never be traversed. We then describe a method to compute a predicate abstraction based on these state invariants. We use information regarding the control state labels as well as the newly computed invariants in the considered control states when determining the abstraction predicates. We have developed a prototype