27.07.2013 Views

2 Why We Need Model-Based Testing

2 Why We Need Model-Based Testing

2 Why We Need Model-Based Testing

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

13 Further Reading<br />

There are many existing formal methods that support modeling and analysis with<br />

complex state, including Alloy (Jackson, 2006), ASMs (Gurevich, 1995; Börger<br />

and Stärk, 2003), B (Abrial, 1996), Promela (Holzmann, 2004), TLA (Lamport,<br />

2002), Unity (Chandy and Misra, 1988), VDM (Fitzgerald and Larsen, 1998), and<br />

Z(Woodcock and Loomes, 1989; Spivey, 1992; Davies and Woodcock, 1996; Jacky,<br />

1997). Case studies in these methods demonstrate many ways to use sets, bags,<br />

sequences, maps, and other data types similar to the ones in the modeling library.<br />

AsmL (abstract state machine language) (Gurevich et al., 2005) includes highlevel<br />

data structures like sets and maps and builds on the theory of partial updates<br />

(Gurevich and Tillmann, 2005) that allows pointwise changes to such data structures<br />

that may, moreover, be nested. AsmL was first supported in the model-based testing<br />

tool AsmL-T (Barnett et al., 2003) and is also supported in the Spec Explorer<br />

tool (SpecExplorer, 2006). Spec Explorer also supports an extension of the Spec#<br />

language (Barnett et al., 2005) with high-level data structures such as sets and maps.<br />

The pruning techniques discussed in Section 11.2 are mostly based on work that<br />

was done in Spec Explorer (Veanes et al., in press). The use of composition in this<br />

context is based on Veanes et al. (2007a). The state grouping technique discussed<br />

in Section 11.2.5 is introduced in Grieskamp et al. (2002). The algorithm is also<br />

explained in Börger and Stärk (2003, Section 3.2). The technique can be extended<br />

to multiple groupings (Campbell and Veanes, 2005) that can be used to define<br />

groupings per feature in a model program with multiple features. State grouping is<br />

related to abstraction in model checking (Clarke et al., 1999).<br />

Strategies for fully controlled systems is a special case of strategies for reactive<br />

systems. In Yannakakis (2004) such strategies are classified as preset strategies<br />

as opposed to adaptive strategies where (possibly nondeterministic) outputs of the<br />

IUT may affect the strategy. (See also Chapter 17 in this connection.) The custom<br />

strategy defined in Section 12.4.2 originates from Veanes et al. (2006).<br />

The various notions of coverage mentioned in Section 12.4 are related to<br />

correspodning classical notions of coverage in the context of black-box testing<br />

more free ebooks download links at:<br />

http://www.ebook-x.com<br />

219

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

Saved successfully!

Ooh no, something went wrong!