Skip to main content

A Component-Based Approach to Verification and Validation of Formal Software Models

  • Chapter
Architecting Dependable Systems IV

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4615))

Abstract

Formal methods for verification of software systems often face the problem of state explosion and complexity. We present a divide and conquer methodology that leads to component based analysis and verification of formal requirements specifications expressed using Software Cost Reduction (SCR) models. The proposed methodology has the following steps: model partitioning, partition verification and composition of verification results. We define a novel decomposition methodology for SCR specifications based on minimum cut graph algorithms. Experimental validation of our methodology brought to light the importance of several concepts that have been advocated in the software development community for a long time: modularity, encapsulation, information hiding and the avoidance of global variables. The advantages of the compositional verification strategy are demonstrated in the case study, which analyses the Personnel Access Control System. Our approach offers significant savings in terms of time and memory requirements needed to perform formal system verification.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Abadi, M., Lamport, L.: Conjoining Specifications. ACM Transactions on Programming Languages and Systems 17(3), 507–534 (1995)

    Article  Google Scholar 

  2. Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Partial-Order Reduction in Symbolic State-Space Exploration. Formal Methods in System Design 18, 97–116 (2001)

    Article  MATH  Google Scholar 

  3. Bharadwaj, R., Heitmeyer, C.L.: Model Checking Complete Requirements Specifications Using Abstraction. Automated Software Engineering 6, 37–68 (1999)

    Article  Google Scholar 

  4. Bharadwaj, R., Sims, S.: Salsa: Combining Constraint Solvers with BDDs for Automatic Invariant Checking. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems (2000)

    Google Scholar 

  5. Chekuri, C., Goldberg, A., Karger, D., Levine, M., Stein, C.: Experimental study of minimum cut algorithms. In: SODA 1997. Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, pp. 324–333 (1997)

    Google Scholar 

  6. Clarke, E.M., Grumberg, O., Long, D.E.: Model Checking and Abstraction. ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  7. Courtois, P.J., Parnas, D.L.: Documentation for Safety Critical Software. In: Proceedings of 15th International Conference on Software Engineering, Baltimore, MD (May 17- 21, 1993)

    Google Scholar 

  8. Cukic, B., Ammar, H.H., Lateef, K.: Identifying High-Risk Scenarios of Complex Systems Using Input Domain Partitioning. In: ISSRE 1998. Proceedings of the 9th International Symposium on Software Reliability Engineering, November 4-7, 1998 Paderborn, Germany, pp. 164–173 (1998)

    Google Scholar 

  9. Heitmeyer, C., Archer, M., Bharadwaj, R., Jeffords, R.: Tools for constructing requirements specifications: The SCR toolset at the age of ten. International Journal of Computer Systems Science and Engineering 5, 95–114 (2005)

    Google Scholar 

  10. Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Automated consistency checking of requirements specifications. ACM Transactions on Software Engineering and Methodology 5(3), 231–261 (1996)

    Article  Google Scholar 

  11. Heitmeyer, C., Kirby Jr., J., Labaw, B., Archer, M., Bharadwaj, R.: Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications. IEEE Transactions on Software Engineering 24(11), 927–948 (1998)

    Article  Google Scholar 

  12. Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR*: A Toolset for Specifying and Analyzing Requirements. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  13. Henzinger, T.A., Qadeer, S., Rajamani, S.K.: You Assume, We Guarantee: Methodology and Case Studies. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 440–451. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Jeffords, R., Heitmeyer, C.: Automatic Generation of State Invariants from Requirements Specifications. In: Vaudenay, S. (ed.) FSE 1998. LNCS, vol. 1372, pp. 3–5. Springer, Heidelberg (1998)

    Google Scholar 

  15. Jeffords, R.D., Heitmeyer, C.L.: A Strategy for Efficiently Verifying Requirements Specifications Using Composition and Invariants. In: ESEC/FSE 2003. Proceedings of 9th European Software Engineering Conference held jointly with 11th International Symposium on Foundations of Software Engineering, Helsinki, Finland (September 1-5, 2003)

    Google Scholar 

  16. Parnas, D.L., Clements, P.C., Weiss, D.M.: Modular Structure of Complex Systems. In: Proceedings of the 7th International Conference on Software Engineering, pp. 408–417 (1984)

    Google Scholar 

  17. Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering SE-10(4), 352–357 (1984)

    Article  Google Scholar 

  18. Requirements Specification for Personnel Access Control System: ational Security Agency (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rogério de Lemos Cristina Gacek Alexander Romanovsky

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Desovski, D., Cukic, B. (2007). A Component-Based Approach to Verification and Validation of Formal Software Models. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems IV. Lecture Notes in Computer Science, vol 4615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74035-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74035-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74033-9

  • Online ISBN: 978-3-540-74035-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics