Tool Support and Applications

Briefly explain Tool Support and Applications in program model checking?

E

Expert

Verified

Tool Support and Applications: Environment models are essential for software model checking. The problem of environment generation is difficult and it is the subject of active research. There is little tool support publicly available, most of what is available comes from academia or research labs. One such tool, BEG (BEG website) from Kansas State University, is described in more detail below.

The Bandera Environment Generator (BEG) tool builds environment models for Java components. It uses static analysis to discover the interface of the analyzed component and it uses filters (regular expressions and temporal logic formulas) and available code from the rest of the components to build precise environment models. BEG can be used in conjunction with the Bandera tool set or JPF for model checking. BEG has been applied to Java applications developed at NASA Ames and Fujitsu.

While BEG proved to be quite useful in generating environments for small systems, the tool support is much more valuable when applied to larger software systems. One such application is described in (Tkachuk, Dwyer, and Pasareanu 2003) where BEG was applied to Autopilot, a Swing-based GUI for an MD-11 autopilot simulator used at NASA. The application code consists of more than 3600 lines of code clustered in one class. The system makes intensive use of java.awt and java.swing GUI frameworks that influence the behavior of the system; the main thread of control is owned by the framework and application methods are invoked as application callbacks. To analyze the system, BEG was used to generate stubs for all the GUI framework components and to generate drivers that encode assumptions about user behavior. JPF was used to check for mode confusion properties. JPF detected a mismatch between the user model and the software’s state (encoded as an assertion violation), indicating potential mode confusion. As mentioned in (Tkachuk, Dwyer, and Pasareanu 2003), a previous effort to build an environment for this application required several months of manual work and yielded an environment model that was inconsistent with the actual environment implementation. From relatively simple assumption specifications, BEG generated an environment in less than 4 minutes that was consistent with the implementation.

   Related Questions in Science

©TutorsGlobe All rights reserved 2022-2023.