Changeset 89 for papers/FDL2012
- Timestamp:
- Apr 6, 2012, 4:44:06 PM (13 years ago)
- Location:
- papers/FDL2012
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
papers/FDL2012/FDL2012.tex
r83 r89 85 85 %\section*{Drawbacks} 86 86 87 We have presented a new strategy in the abstraction generation and refinement which is well adapted for compositional embedded systems. This verification technique is compatible and suits well in the natural development process of complex systems. Our preliminary experimental results shows an interesting performance in terms duration of abstraction generation and the number of refinement iteration. Futhermore, this technique enables us to overcome repetitive counterexamples due to the presence of cycles in the system's graph. 87 We have presented a new strategy in the abstraction generation and refinement 88 which is well adapted for compositional embedded systems. This verification 89 technique is compatible and suits well in the natural development process of 90 complex systems. Our preliminary experimental results shows an interesting 91 performance in terms of duration of abstraction generation and the number of refinement iteration. Futhermore, this technique enables us to overcome repetitive counterexamples due to the presence of cycles in the system's graph. 88 92 89 Nevertheless, in order to function well, this refinement technique requires a complete specification of every components of the concrete model. Futhermore, it may be possible that none of the properties available is capable of eliminating the counterexample which probably due to the fact that the specification is not complete or counterexample given is provoqued by the composition of components. In this case, other refinement techniques such as the refinement by eliminating the counterexample only techniques should be considered. We are currently investigating other complementary techniques to overcome these particular cases. 93 Nevertheless, in order to function well, this refinement technique requires a 94 complete specification of every components of the concrete model. Futhermore, 95 it may be possible that none of the properties available is capable of 96 eliminating the counterexample which is probably due to an uncomplete 97 specification or a counterexample that should be eliminated by the product of 98 local properties. In this case, other refinement techniques such as the 99 refinement by eliminating the counterexample only, or the identification of a 100 good set of local properties to be integreted simultaneously, should be considered. 101 We are currently investigating other complementary techniques to overcome these particular cases. 102 A complementary approach consists in oimproving the specification of the 103 model~: at the component level, or for groups of components. The work of 104 Kroening \cite{pwk2009-date} could help us in this direction. 90 105 91 106 -
papers/FDL2012/abstraction_refinement.tex
r82 r89 14 14 $\widehat{M}_{i+1} \sqsubseteq \widehat{M}_{i}$. 15 15 \item The spurious counterexample in $\widehat{M}_i$ is removed from 16 $\widehat{M _{i+1}}$.16 $\widehat{M}_{i+1}$. 17 17 \end{enumerate} 18 18 \label{def:goodrefinement} 19 19 \end{definition} 20 Moreover, the refinement steps should be easy to compute and ensure a fast20 Furthermore, the refinement steps should be easy to compute and ensure a fast 21 21 convergence by minimizing the number of iterations of the CEGAR loop. 22 22 … … 32 32 according to definition \ref{def:goodrefinement}. 33 33 We have several options. The most straightforward consists in building 34 an AKS representing all possible executions except the spurious counterexample ; however the AKS representation may be huge and the process is not guaranteed to converge. A second possibility is to build an AKS with additional CTL properties of the components ; the AKS remains small but item 3 is not guaranteed, hence delaying the convergence. The final proposal combines both previous ones : first local CTL properties eliminating the spurious counter 34 an AKS representing all possible executions except the spurious counterexample ; however the AKS representation may be huge and the process is not guaranteed to converge. A second possibility is to build an AKS with additional CTL properties of the components ; the AKS remains small but item 3 is not guaranteed, hence delaying the convergence. The final proposal combines both previous ones : first local CTL properties eliminating the spurious counterexample are determined, and then the corresponding AKS is synchronized with the one of $\widehat{M}_i$. 35 35 36 36 … … 43 43 The spurious counterexample $\sigma$ is defined such that : 44 44 \begin{definition} 45 Let $\sigma$ be a \emph{spurious counter -example} in $\widehat{M}_i =\langle \widehat{AP}_i, \widehat{S}_i, \widehat{S}_{0i},45 Let $\sigma$ be a \emph{spurious counterexample} in $\widehat{M}_i =\langle \widehat{AP}_i, \widehat{S}_i, \widehat{S}_{0i}, 46 46 \widehat{L}_i, \widehat{R}_i, \widehat{F}_i \rangle$ of length $|\sigma| = n$: $ \sigma = s_{0} \rightarrow s_{1} \ldots 47 47 \rightarrow s_{n}$ with $(s_{k}, s_{k+1}) \in \widehat{R}_i$ $\forall k \in [0..n-1]$. … … 56 56 \end{definition} 57 57 The construction of the AKS representing all executions except the one 58 described by the spurious counter -example is done in two steps.58 described by the spurious counterexample is done in two steps. 59 59 60 60 \subsubsection{Step 1~:~Build the structure of the AKS.} … … 62 62 63 63 \begin{definition} 64 Let $\sigma$ be a spurious counter -example of length $|\sigma| = n$, the \emph{ AKS of the65 counter -example negation} $AKS(\overline{\sigma}) = \langle \widehat{AP}_{\overline{\sigma}}, \widehat{S}_{\overline{\sigma}}, \widehat{S}_{0{\overline{\sigma}}},64 Let $\sigma$ be a spurious counterexample of length $|\sigma| = n$, the \emph{ AKS of the 65 counterexample negation} $AKS(\overline{\sigma}) = \langle \widehat{AP}_{\overline{\sigma}}, \widehat{S}_{\overline{\sigma}}, \widehat{S}_{0{\overline{\sigma}}}, 66 66 \widehat{L}_{\overline{\sigma}}, \widehat{R}_{\overline{\sigma}}, 67 67 \widehat{F}_{\overline{\sigma}} \rangle$ is such that : … … 101 101 \emph{Example}. Assume $AP = \{v_0,v_1,v_2\}$ and $\sigma = s_0 \rightarrow s_1$ and $\widehat{L}(s_0) = \{\mathbf{f},\mathbf{f},\mathbf{f}\}$ the configuration associated with $s_0$ assigns false to each variable. The negation of this configuration represents a set of seven concrete configurations which are covered by three (abstract) configurations: $\{\{\mathbf{t},\top,\top\},\{\mathbf{f},\mathbf{t},\top\},\{\mathbf{f},\mathbf{f},\mathbf{t}\}\}$. 102 102 103 To build the final AKS representing all sequences but spurious counter -example103 To build the final AKS representing all sequences but spurious counterexample 104 104 $\sigma$, one replaces in $AKS(\overline{\sigma})$ each state $\bar{s_i}$ by 105 105 $k = \mid AP_{\overline\sigma} \mid$ states $\bar{s_i^j}$ with $j\in [0..k-1]$ 106 106 and assigns to each of them a label of $k$ variables $\{v_0, \ldots, 107 v_{k-1}\}$ defined such that : $ {L}(\bar{s_i^j}= \{\forall l \in [0..k-1],107 v_{k-1}\}$ defined such that : $\widehat{L}(\bar{s_i^j}) = \{\forall l \in [0..k-1], 108 108 v_l = \neg {L}_{i}(s_i)[v_l], \forall l \in [j+1..k-1], v_l = \top\}$. each 109 109 state $\bar{s_i^j}$ is connected to the same predecessor and successor states 110 110 as state $\bar{s_i}$. 111 111 112 This final AKS presents a number of states in $\cal{O}(\mid\sigma\mid\times\mid AP\mid)$. However, removing, at each refinement step, the spurious counter-example {\em only} induces a low convergence. Moreover, in some cases, this strategy may not converge: suppose that all sequences of the form $a.b^*.c$ are spurious counter-examples (here $a$, $b$ and $c$ represent concrete state configurations). At a given refinement step $i$, a particular counter example $\sigma_i = s_0 \rightarrow s_1 \rightarrow \ldots s_n$ with $L(s_0) = a, \forall k \in [1, n-1], L(s_k) = b, L(s_n) = c$. Removing this counter-example does not prevent from a new spurious counter-example at step $i+1$ : $\sigma_{i+1} = s_0 \rightarrow s_1 \rightarrow \ldots s_{n+1}$ with $L(s_0) = a, \forall k \in [1, n], L(s_k) = b, L(s_{n+1}) = c$. The strategy consisting of elimination spurious counter-example {\em one by one} diverges in this case. However, we cannot eliminate all the sequences of the form $a.b^*.c$ in a unique refinement step since we do not a priors know if at least one of these sequence is executable in the concrete model. 112 This final AKS presents a number of states in 113 $\cal{O}(\mid\sigma\mid\times\mid AP\mid)$. However, removing, at each 114 refinement step, the spurious counterexample {\em only} induces a low 115 convergence. Moreover, in some cases, this strategy may not converge: suppose 116 that all sequences of the form $a.b^*.c$ are spurious counterexamples (here 117 $a$, $b$ and $c$ represent concrete state configurations). Assume, at a given 118 refinement step $i$, a particular counterexample $\sigma_i = s_0 \rightarrow 119 s_1 \rightarrow \ldots s_n$ with $L(s_0) = a, \forall k \in [1, n-1], L(s_k) = 120 b, L(s_n) = c$. Removing this counterexample does not prevent from a new 121 spurious counterexample at step $i+1$ : $\sigma_{i+1} = s_0 \rightarrow s_1 122 \rightarrow \ldots s_{n+1}$ with $L(s_0) = a, \forall k \in [1, n], L(s_k) = 123 b, L(s_{n+1}) = c$. The strategy consisting of elimination spurious 124 counterexample {\em one by one} diverges in this case. However, we cannot 125 eliminate all the sequences of the form $a.b^*.c$ in a unique refinement step 126 since we do not {\it a priori} know if at least one of these sequences is executable in the concrete model. 113 127 114 128 From these considerations, we are interested in removing {\em sets of 115 behaviors encompassing the spurious counter -example} but still guaranteeing an129 behaviors encompassing the spurious counterexample} but still guaranteeing an 116 130 over-approximation of the set of tree-organized behaviors of the concrete 117 131 model. The strengthening of the abstraction $\widehat{M}_i$ with the 118 132 addition of AKS of already verified local CTL properties eliminates sets of 119 133 behaviors and guarantees the over-approximation (property 120 \ref{prop:concrete_compose}) but does not guarantee the elimination of the counter example. We present in the following section a strategy to select sets of CTL properties eliminating the spurious counterexample.134 \ref{prop:concrete_compose}) but does not guarantee the elimination of the counterexample. We present in the following section a strategy to select sets of CTL properties eliminating the spurious counterexample. 121 135 122 136 -
papers/FDL2012/exp_results.tex
r88 r89 1 We have conducted preliminary experiments to tests and compare the performance of our strategy with existing abstraction-refinement technique available in VIS. There several abstraction-refinement techniques implemented in VIS accessible via \emph{approximate\_model\_check}, \emph{iterative\_model\_check}, \emph{check\_invariant} and \emph{incremental\_ctl\_model\_check} commands. However, among the techniques available, \emph{incremental\_ctl\_model\_check} is the only abstraction-refinement technique that supports CTL formulas and fairness constraints which are necessary in our test platforms. It is an automatic abstraction refinement algorithm which generates an initial conservative abstraction principally by reducing the size of the latches by a constant factor. If the initial abstraction is not conclusive, a \emph{goal set} will then be computed in order to guide the refinement process \cite{PardoHachtel98incremCTLMC} \cite{PardoHachtel97autoAbsMC}. 1 We have conducted preliminary experiments to test and compare the performance 2 of our strategy with existing abstraction-refinement techniques available in 3 VIS. There are several abstraction-refinement techniques implemented in VIS 4 accessible via \emph{approximate\_model\_check}, 5 \emph{iterative\_model\_check}, \emph{check\_invariant} and 6 \emph{incremental\_ctl\_model\_check} commands. However, among the available 7 techniques, \emph{incremental\_ctl\_model\_check} is the only one that supports CTL formulas and fairness constraints which are necessary in our test platforms. It is an automatic abstraction refinement algorithm which generates an initial conservative abstraction principally by reducing the size of the latches by a constant factor. If the initial abstraction is not conclusive, a \emph{goal set} will then be computed in order to guide the refinement process \cite{PardoHachtel98incremCTLMC} \cite{PardoHachtel97autoAbsMC}. 2 8 3 9 … … 115 121 116 122 117 In Table \ref{TabVerif}, we compare the execution time between our technique (Prop. Select.), \emph{incremental\_ctl\_verification} (Incremental) and the standard model checking (Standard MC) computed using the \emph{model\_check} command in VIS (Note: Dynamic variable ordering has been enabled with sift method). For the VCI-PI platform, the global property $\phi_1$ is the type $AF((p=1)*AF(q=1))$ and $\phi_2$ is actually a stronger version of the same formula with $AG(AF((p=1)*AF(q=1)))$. We have a total of 42 verifed components properties to be selected in VCI-PI plateform and for the verification of $\phi_1$ we have restrained the selectable properties only to those without AG prefix. In comparison to $\phi_2$, we can see that, a better set of properties available will result in a better abstraction and less refinement iterations. 123 In Table \ref{TabVerif}, we compare the execution time and the number of refinment 124 between our technique (Prop. Select.), \emph{incremental\_ctl\_verification} 125 (Incremental) and the standard model checking (Standard MC) computed using the 126 \emph{model\_check} command in VIS (Note: Dynamic variable ordering has been 127 enabled with sift method). For the VCI-PI platform, the global property 128 $\phi_1$ is the type $AF((p=1)*AF(q=1))$ and $\phi_2$ is actually a stronger 129 version of the same formula with $AG(AF((p=1)*AF(q=1)))$. We have a total of 130 27 verifed components properties to be selected in VCI-PI plateform. 131 In comparison to $\phi_2$, we can see that, a better set of properties available will result in a better abstraction and less refinement iterations. 118 132 119 133 120 In the case of the CAN bus platform, the global property $\phi_3$ is the type $AG(((p'=1)*(q'=1)*AF(r_1=1)) \rightarrow AF((s_1=1)*AF(t_1=1)))$ and $\phi_4 = AG(((p'=1)*(q'=1)*AG(r_2=0)) \rightarrow AG((s_2=0)*(t_2=0)))$. We have at our disposal 103 verified component properties and after the selection process, 3 selected component properties were sufficient to verify both global properties. 134 In the case of the CAN bus platform, the global property $\phi_3$ is the type 135 $AG(((p'=1)*(q'=1)*AF(r_1=1)) \rightarrow AF((s_1=1)*AF(t_1=1)))$ and $\phi_4 136 = AG(((p'=1)*(q'=1)*AG(r_2=0)) \rightarrow AG((s_2=0)*(t_2=0)))$. We have at 137 our disposal 103 verified component properties and after the selection process 138 for the initial abstraction, 3 selected component properties were sufficient 139 to verify both global properties without refinement. 121 140 122 Globally, we can see that our technique systematically computes faster than the other two methods and interestingly in the case where the size of the platform increases by adding themore connected components, in contrary to the other two methods, our computation time remains stable.141 Globally, we can see that our technique systematically computes faster than the other two methods and interestingly in the case where the size of the platform increases by adding more connected components, in contrary to the other two methods, our computation time remains stable. 123 142 124 143 -
papers/FDL2012/framework.tex
r86 r89 48 48 49 49 \subsection{Concrete system definition} 50 As mention earlier, our concrete model consists of several components and each50 As mentioned earlier, our concrete model consists of several components and each 51 51 component comes with its specification. 52 52 The concrete system is a synchronous composition of components, each of which … … 178 178 Let $\widehat{M_i}$ be an abstract model of $M$ and $\varphi_j^k$ be a property 179 179 of a component $C_j$ of M, $\widehat{M}_{i+1} = \widehat{M_i}\parallel 180 AKS(\varphi_j^k) $ is more concrete that $ \widehat{M_i}$, $\widehat{M _{i+1}}180 AKS(\varphi_j^k) $ is more concrete that $ \widehat{M_i}$, $\widehat{M}_{i+1} 181 181 \sqsubseteq \widehat{M}_i$. 182 182 \end{property} … … 185 185 Let $s = (s_i,s_{\varphi_j^k})$ be a state in $S_{i+1}$, such that $s_i\in S_i$ 186 186 and $s_{\varphi_j^k} \in S_{\varphi_j^k}$. 187 The label of $s_{i+1}$ is obtained by applying the Belnap's logic operators to four-valued values of variables in $s_i$ and $s_{\varphi_j^k}$. For all $p \in 187 The label of $s_{i+1}$ is obtained by applying the Belnap's logic operators 188 {\it and} to the four-valued values of variables in $s_i$ and $s_{\varphi_j^k}$. For all $p \in 188 189 AP_i \cup AP_{\varphi_j^k}$ we have the following label~: 189 190 \begin{itemize} … … 196 197 (resp. $s_{\varphi_j^k}$). 197 198 \end{itemize} 198 By property \ref{prop:concrete}, $M_{i+1}$ is more concrete than $M_i$ and by 199 By property \ref{prop:concrete}, $\widehat{M}_{i+1}$ is more concrete than 200 $\widehat{M}_i$ and by 199 201 the property of parallel composition, 200 202 $\widehat{M_i} \sqsubseteq \widehat{M}_{i} \parallel AKS(\varphi_j^k$). -
papers/FDL2012/introduction.tex
r83 r89 39 39 40 40 41 In 2007, a method to build abstractions of components into AKS (Abstract Kripke Structure), based on the set of the properties (CTL) each component verifies \cite{braunstein07ctl_abstraction}. The method is actually a tentative to associate compositional and abstraction-refinement verification techniques. The generations of AKS from CTL formula have been successfully automated \cite{bara08abs_composant}. These work will be the base of the techniques in this paper. 41 In 2007, a method to build abstractions of components into AKS (Abstract 42 Kripke Structure), based on the set of the properties (CTL) each component 43 verifies \cite{braunstein07ctl_abstraction}. The method is actually a 44 tentative to associate compositional and abstraction-refinement verification 45 techniques. The generations of AKS from CTL formula have been successfully 46 automated \cite{bara08abs_composant}. This work will be the base of the techniques in this paper. 42 47 43 48 -
papers/FDL2012/ordering_filter_properties.tex
r82 r89 15 15 %behaviors that may have an impact on the global property. 16 16 We observed that 17 the more closer a variable is from the primary 18 variable the more it affects the primary variable. Hence, a property 19 has higher priority according to the number of primary or close to primary variables it 20 contains. 17 the closer a variable is from the primary 18 variable, the higher influence it has on it. 19 %Hence, a property 20 %has higher priority according to the number of primary or close to primary variables it 21 %contains. 21 22 Moreover, a global property often specifies the behavior at the interface of 22 23 components. Typically, a global property ensures that a message sent is 23 24 always acknowledged or the good target gets the message. This kind of behavior 24 25 relates the input-output behaviors of components. 25 We have decided to allocate an extra weight for variables which are present at the interface of a component26 We have decided to allocate an extra weight for interface variables 26 27 whereas variables which do not interfere with a primary variable are weighted 0. 27 28 Here is how we proceed: … … 44 45 \label{algo:weight} 45 46 46 \KwIn{ $\{V\}$, the set of all dependency graph variable} 47 \KwIn{ $G$, the set of all dependency graph variable} 48 { $V$ the set of variables} 47 49 \KwOut{$\{(v,w)| v \in V, w \in N\}$, The set of variables with their weight} 48 50 49 51 \Begin{ 50 $p = $ max(depth( V)) \\52 $p = $ max(depth(G)) \\ 51 53 \For{$v\in V$}{ 52 d = depth(v) \;54 $d$ = depth($v$) \; 53 55 $w = 2^{p-d}*p$\; 54 \If( vis primary variable){$d == 0$}56 \If($v$ is primary variable){$d == 0$} 55 57 { 56 58 $w = 5 * w$\; 57 59 } 58 \If( vis an interface variable){$v\in{I\cup O}$}60 \If($v$ is an interface variable){$v\in{I\cup O}$} 59 61 { 60 62 $w = 3 * w $ … … 134 136 It is definitely not an exact pertinence calculation of properties but provides a good indicator 135 137 of their possible impact on the global property. 136 After this pre-processing phase, we have a list of properties $L_\phi$138 After this pre-processing phase, we have a list of properties 137 139 ordered according to their pertinence with regards to the global property. 138 140 … … 149 151 %are characterized. Hence there is more constrains behavior and more concretize 150 152 %states. 151 As we would like to ensure the elimination of the counter -example previously found,153 As we would like to ensure the elimination of the counterexample previously found, 152 154 we filter out properties that do not have an impact on the counterexample 153 155 $\sigma$ thus will not eliminate it. 154 156 In order to reach this objective, a Abstract Kripke structure of the counterexample $\sigma$, $K(\sigma)$ 155 157 is generated. $K(\sigma)$ is a succession of states corresponding to the counterexample path which dissatisfies 156 the global property 158 the global property~$\Phi$ 157 159 %as show in figure \ref{AKSNegCex}. 158 160 %In case where the spurious counter-example exhibits a bounded path, we add a last … … 172 174 % 173 175 \begin{definition} 174 Let $\sigma$ be a counter -example of length $n$ in $\widehat{M}_i$ such176 Let $\sigma$ be a counterexample of length $n$ in $\widehat{M}_i$ such 175 177 that $ \sigma = s_{0}\rightarrow s_{1}\rightarrow \ldots \rightarrow 176 178 s_{n-1}$. The \emph{Kripke structure derived from $\sigma$} is 6-tuple … … 240 242 241 243 All the properties available for refinement are then model-checked on $K(\sigma)$. If the 242 property holds then the property will not discriminate the counterexample.244 property holds then the property will not eliminate the counterexample. 243 245 Hence this property is not a good candidate for refinement. 244 Therefore all properties that are not satisfied are chosen to be 245 integrated in the next step of refinement. At this stage, we already have a 246 list of potential properties that definitely eliminates the current counterexample $\sigma$ and might converge the abstract model towards a model sufficient to verify the global property $\Phi$. 246 Therefore the highest weighted property not satisfied in $K(\sigma)$ is choosen to be 247 integrated in the next refinement step. This process is iterated for each 248 refinement step. 249 %At this stage, we already have a 250 %list of potential properties that definitely eliminates the current counterexample $\sigma$ and might converge the abstract model towards a model sufficient to verify the global property $\Phi$. 247 251 248 252 \begin{property}{Counterexample eviction} … … 267 271 \end{proof} 268 272 269 The proposed approach ensures that the refinement excludes the counter -example273 The proposed approach ensures that the refinement excludes the counterexample 270 274 and respects the definition \ref{def:goodrefinement}. 271 275 We will show in our experiments that first the time needed to build an AKS is
Note: See TracChangeset
for help on using the changeset viewer.