Model-Based Verification: Abstraction Guidelines

Abstract : Model-Based Verification (MBV) is a systematic approach to finding defects (errors) in software requirements, designs, or code. The approach judiciously incorporates mathematical formalism, in the form of models, to provide a disciplined and logical analysis practice, rather than a "proof of correctness" strategy. This technical note presents a number of abstraction techniques that can be used to build essential models of system behavior in the context of MBV and details a methodology for creating state machine models using those techniques. In building essential models, abstraction is used to hide details and expose the entities, variables, states, and transitions needed to construct a state machine model. Through illustrative examples, this technical note identifies the types of simplifications that are useful and effective, and highlights the importance of the perspective in determining what important elements to include in an abstracted model.

[1]  Myla Archer,et al.  Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications , 1998, IEEE Trans. Software Eng..

[2]  Santiago Comella-Dorda,et al.  Model-Based Verification: Guidelines for Generating Expected Properties , 2002 .

[3]  F. K. Frantz,et al.  A taxonomy of model abstraction techniques , 1995, Winter Simulation Conference Proceedings, 1995..

[4]  Sérgio Vale Aguiar Campos,et al.  Compositional Reasoning in Model Checking , 1997, COMPOS.

[5]  Santiago Comella-Dorda,et al.  Model-Based Verification: Claim Creation Guidelines , 2001 .

[6]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[7]  Somesh Jha,et al.  Verification of the Futurebus+ cache coherence protocol , 1993, Formal Methods Syst. Des..

[8]  Steven P. Levitan,et al.  Model abstraction for formal verification , 1998, Proceedings Design, Automation and Test in Europe.

[9]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[10]  Constance L. Heitmeyer,et al.  Verifying SCR Requirements Specifications Using State Exploration , 1997 .

[11]  Santiago Comella-Dorda,et al.  Model-Based Verification: Analysis Guidelines , 2001 .

[12]  Constance L. Heitmeyer,et al.  Model Checking Complete Requirements Specifications Using Abstraction , 2004, Automated Software Engineering.

[13]  Benjamin Kuipers,et al.  Model Decomposition and Simulation , 2004 .

[14]  David P. Gluch,et al.  Model-Based Verification: A Technology for Dependable System Upgrade , 1998 .

[15]  Michael Jackson,et al.  Software requirements & specifications , 1995 .

[16]  김수동,et al.  [서평]「Software Engineering : A Practitioner's Approach, 4^(th) Edition」 , 1997 .

[17]  Santiago Comella-Dorda,et al.  Model-Based Verification Scope, Formalism, and Perspective Guidelines , 2001 .