07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

346 Levi Lúcio and Marko Samer<br />

It is now possible to calculate the boundary states. These correspond to<br />

states <strong>in</strong> the execution space of the specification where at least one of the<br />

state variables assumes a boundary value. Symbolic execution is aga<strong>in</strong> necessary<br />

at this stage given that <strong>in</strong> order to know the ranges of all the other<br />

state variables that def<strong>in</strong>e a boundary state it is necessary to know the path<br />

condition for that state.<br />

F<strong>in</strong>al state<br />

of body 1.1<br />

F<strong>in</strong>al state of<br />

identification<br />

Boundary Boundary<br />

state 1<br />

state 2<br />

F<strong>in</strong>al state of<br />

identification<br />

...<br />

Initial State<br />

F<strong>in</strong>al state F<strong>in</strong>al state<br />

of body 1.2<br />

of body 1.m<br />

F<strong>in</strong>al state of<br />

identification<br />

Fig. 12.6. Trace construction for boundary test<strong>in</strong>g<br />

...<br />

Boundary<br />

state m<br />

preamble <strong>in</strong>vocations<br />

body <strong>in</strong>vocations<br />

identification <strong>in</strong>vocation<br />

postamble <strong>in</strong>vocations<br />

• generate the test cases (traces through the state space): this activity may be<br />

resumed to the follow<strong>in</strong>g:<br />

– Calculate the preamble trace to the boundary state: this consists of calculat<strong>in</strong>g<br />

the sequence of operations that leads the system to a boundary<br />

state. Given that the path condition for the boundary state is already<br />

known, this can be considered trivial;<br />

– Calculate the “critical <strong>in</strong>vocation” step: the authors of the approach def<strong>in</strong>e<br />

critical <strong>in</strong>vocation as the execution of the operations which are possible<br />

from the boundary state. The execution of these operations <strong>in</strong> is<br />

clearly sensitive s<strong>in</strong>ce is implies the manipulation of a boundary value.<br />

For that reason the <strong>in</strong>put parameters for the operations under analysis<br />

are decomposed <strong>in</strong>to subdoma<strong>in</strong>s as was done <strong>in</strong> order to f<strong>in</strong>d the boundary<br />

values. We can say that the operations accessible from the boundary<br />

state are then symbolically executed over their entry parameters, yield<strong>in</strong>g<br />

a subdivision of the preamble trace (see Fig. 12.6);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!