Abstract
We present a novel approach which facilitates formal verification of component-based software application families using model checking. This approach enables effective compositional reasoning by facilitating formulation of component properties and their environment assumptions. This approach integrates bottom-up component verification and top-down system verification based on the concept of application family architectures (AFA). The core elements of an AFA are architectural styles and reusable components. Reusable components of a family are defined in the context of its architectural styles and their correctness properties are verified in bottom-up component compositions. Top-down system verification utilizes architectural styles to guide decomposition of properties of a system into properties of its components and formulation of assumptions for the component properties. The component properties are reused if already verified; otherwise, they are verified top-down recursively. Architectural style guided property decomposition facilitates reuse of verified component properties. Preliminary case studies have shown that our approach achieves order-of-magnitude reduction on verification complexities and realizes major verification reuse.
This research was partially supported by NSF grants IIS-0438967 and CNS-0509354.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Clarke, E.M., Grumberg, O., Peled, D.: Model checking. MIT Press, Cambridge (1999)
Chandy, K.M., Misra, J.: Proofs of networks of processes. IEEE TSE 7(4) (1981)
Jones, C.B.: Development methods for computer programs including a notion of interference. PhD thesis, Oxford University (1981)
Gannakopoulou, D., Pasareanu, C., Barringer, H.: Assumption generation for software component verification. In: ASE (2002)
Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548–562. Springer, Heidelberg (2005)
Perry, D., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT SEN 17(2) (1992)
Shaw, M., Garlan, D.: Software Architecture: Perspective on An Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
IBM: Business Process Execution Language for Web Services (BPEL4WS), Ver. 1.1 (2003)
Xie, F., Levin, V., Kurshan, R.P., Browne, J.C.: Translating software designs for model checking. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 324–338. Springer, Heidelberg (2004)
W3C: Web Services Description Language (WSDL), Ver. 1.1 (2001)
W3C: Web Service Choreography Interface (WSCI), Ver. 1.0 (2002)
Xie, F., Browne, J.C.: Verified systems by composition from verified components. In: ESEC/SIGSOFT FSE (2003)
ITU: Rec. Z.120, Message Sequence Chart (1999)
Clements, P.C., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Object-Oriented Software. Addison-Wesley, Reading (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Xie, F., Browne, J.C. (2006). Verification of Component-Based Software Application Families. In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_4
Download citation
DOI: https://doi.org/10.1007/11783565_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35628-8
Online ISBN: 978-3-540-35629-5
eBook Packages: Computer ScienceComputer Science (R0)