Automated Software Engineering

, Volume 12, Issue 3, pp 297–320

Component Verification with Automatically Generated Assumptions

  • Dimitra Giannakopoulou
  • Corina S. Păsăreanu
  • Howard Barringer

DOI: 10.1007/s10515-005-2641-y

Cite this article as:
Giannakopoulou, D., Păsăreanu, C.S. & Barringer, H. Autom Software Eng (2005) 12: 297. doi:10.1007/s10515-005-2641-y


Model checking is an automated technique that can be used to determine whether a system satisfies certain required properties. The typical approach to verifying properties of software components is to check them for all possible environments. In reality, however, a component is only required to satisfy properties in specific environments. Unless these environments are formally characterized and used during verification (assume-guarantee paradigm), the results returned by verification can be overly pessimistic. This work introduces an approach that brings a new dimension to model checking of software components. When checking a component against a property, our modified model checking algorithms return one of the following three results: the component satisfies a property for any environment; the component violates the property for any environment; or finally, our algorithms generate an assumption that characterizes exactly those environments in which the component satisfies its required property. Our approach has been implemented in the LTSA tool and has been applied to the analysis of two NASA applications.


assume-guarantee reasoningmodel checkingcomponent verification

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  • Dimitra Giannakopoulou
    • 1
  • Corina S. Păsăreanu
    • 2
  • Howard Barringer
    • 3
  1. 1.RIACS/USRANASA Ames Research CenterUSA
  2. 2.Kestrel Technology LLCNASA Ames Research CenterUSA
  3. 3.School of Computer ScienceUniversity of ManchesterManchesterUK