Skip to main content
Log in

A comparative study of formal verification techniques for software architecture specifications

  • Published:
Annals of Software Engineering

Abstract

With the rapid growth of network computing, the demand for large‐scale and complex software systems has increased dramatically. However, the development of large‐scale and complex software systems is much more difficult and error prone. This is due to the fact that techniques and tools for assuring the correctness and reliability of software systems lag far behind the increasing growth in size and complexity of software systems. The concept of software architecture has recently emerged as a new way to improve our ability to effectively construct and maintain large‐scale complex software systems. The architecture based development of software systems focuses on the architectural elements and their overall interconnection structure. Several Architectural Definition Languages (ADLs) have been proposed for specifying domain specific or general purpose architectures. On the other hand, formal verification is rapidly becoming a promising and automated method to ensure the accuracy and correctness of software systems. In this paper, we survey several architecture description languages and formal verification methods. We present an environment to conduct experiments to study the performance of five different verification tools on software architecture specifications. Based on these experiments, we are able to compare the efficiency of these verification tools in verifying certain software property.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Abd-Alah, A. (1996), "Models for Composing Heterogeneous Software Architectures," Ph.D. Thesis, Department of Computer Science, University of Southern California, Los Angeles, CA.

  • Allen, R. and G. Garlan (1994), "Formalizing Architectural Connection," In Proceedings of Sixteenth International Conference on Software Engineering, pp. 71–80.

  • Alur, R., R.K. Brayton, T.A. Henzinger, S. Qadeer, and S.K. Rajamani (1997), "Partial-Order Reduction in Symbolic State Space Exploration," In Proceedings of 9th International Computer-Aided Verification Conference, Haifa, Israel, pp. 340–351.

  • Berthelot, G. (1986), "Checking Properties of Nets using Transformations," In Lecture Notes in Computer Science, Vol. 222, pp. 19–40.

    MATH  MathSciNet  Google Scholar 

  • Bryant, B. (1986), "Graph-based Algorithms for Boolean Function Manipulation," IEEE Transactions on Computer 35, 8.

    Article  Google Scholar 

  • Burch, J., E. Clarke, K. McMillan, D. Dill, and L. Hwang (1990), "Symbolic Model Checking: 1020states and beyond," In Proceedings of IEEE Symp. Logic in Computer Science, pp. 428–439.

  • Clarke, E., K. McMillan, S. Campos, and V. Hartonas-Garmhausen (1996), "Symbolic Model Checking," In Proceedings of 8th International Computer Aided Verification Conference, Springer, Berlin.

    Google Scholar 

  • Clements, P. (1996), "A Survey of Architecture Description Languages," In Proceedings of IEEE 8 th International Workshop on Software Specification and Design, Germany.

  • de Simone, R. and MEIJE Research Team, http://www.inria.fr/meije/verification/.

  • Duri, S., U. Buy, R. Devarapalli, and S.M. Shatz (1994), "Application and Experimental Evaluation of State Space Reduction Methods for Deadlock Analysis in Ada," ACM Transactions on Software Engineering and Methodology 3, 4, 340–380.

    Article  Google Scholar 

  • Emerson, E.A. and A.P. Sistla (1993), "Symmetry and Modelchecking," In Proceedings of 5th International Computer-Aided Verification Conference, Lecture Notes in Computer Science, Vol. 697, Springer-Verlag, pp. 463–478.

    MathSciNet  Google Scholar 

  • Garlan, D., R. Monroe, and D. Wile (1995), "ACME: An Architecture Description Interchange Language," Technical Report CMU-CS–95–219, School of Computer Science, Carnegie Mellon University, PA.

  • Godefroid, P. and P. Wolper (1993), "Using Partial Orders for the Efficient Verification of Deadlock Freedom and Safety Properties," Formal Methods in System Design, 149–164.

  • Hoare, C.A.R. (1985), Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs, NJ.

    MATH  Google Scholar 

  • Holzmann, G.J. (1991), Design and Validation of Computer Protocols, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • Holzmann, G.J. (1999), Basic Spin Manual, http://cm.bell-labs.com/netlib/spin/whatispin.html.

  • Juan, E., J.J.P. Tsai, and T. Murata (1998), "Compositional Verification of Concurrent Systems Using Petri-nets-based Condensation Rules," ACM Transactions on Programming Languages and Systems 20, 3, 917–970.

    Article  Google Scholar 

  • Luckham, D. and J. Vera (1995), "An Event-Based Architecture Definition Language," IEEE Transactions on Software Engineering 21, 9, 336–355.

    Article  Google Scholar 

  • Magee, J. and J. Kramer (1996), "Dynamic Structure in Software Architectures," In Proceedings of ACM SIGSOFT'96: Fourth Symposium on the Foundations of Software Engineer ing (FSE4), San Francisco, CA, pp. 3–14.

  • Medvidovic, N. and R. Taylor (1997), "A Classification and Comparison Framework for Software Architecture Description Languages," ACM SIGSOFT Notices 22, 6, pp. 60–76.

    Article  Google Scholar 

  • Medvidovic, N., R.N. Taylor, and E.J. Whitehead, Jr. (1996), "Formal Modeling of Software Architectures at Multiple Levels of Abstraction," In Proceedings of the California Software Symposium, Los Angeles, CA, pp. 28–40.

  • Milner, R. (1980), A Calculus of Communicating Systems, Lecture Notes in Computer Science, Springer-Verlag.

  • Shaw, M. et al.(1995), "Abstractions for Software Architecture and Tools to Support Them," IEEE Transactions on Software Engineering 21, 4, 314–315.

    Article  Google Scholar 

  • Shaw, M. and D. Garlan (1996), Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, Englewood Cliffs, NJ.

    MATH  Google Scholar 

  • Sistla, A.P., L. Miliades, and V. Gyuris (1997), "SMC: A Symmetry Based Model Checker for Verification of Liveness Properties," In Proceedings of 9th International Computer Aided Verification Conference, Springer, Berlin.

    Google Scholar 

  • Sokolsky, O.V., and S.A. Smolka (1994), "Incremental Model Checking in Modal mu-Calculus," In Proceedings of 6th International Computer-Aided Verification Conference, Springer, Berlin.

    Google Scholar 

  • Tsai, J.J.P., Y. Bi, S. Yang, and R. Smith (1996), Distributed Real-Time Systems, Wiley, New York.

    MATH  Google Scholar 

  • Tsai, J.J.P. and E. Juan (2000), Compositional Verification of Concurrent and Real-Time Systems, Kluwer Academic, Boston, MA.

    Google Scholar 

  • Tsai, J.J.P., A. P. Sistla, A. Sahay, and R. Paul (1998), "Incremental Verification of Architecture Specification Language for Real-Time Systems," International Journal of Software Engineering and Knowledge Engineering 8, 3.

    Article  MATH  Google Scholar 

  • Tsai, J.J.P. and T. Weigert (1994), Knowledge-Based Software Development for Real-Time Distributed Systems, World Scientific.

  • Tsai, J.J.P. and K. Xu (1999a), "Architecture Specification of Multimedia Systems," In Proceedings of 6th IEEE International Conference on Multimedia Computing and Systems, Florence, Italy, pp. 97–102.

  • Tsai, J.J.P. and K. Xu (1999b), "An Empirical Evaluation of Deadlock Detection in Software Architecture Specifications," Annals of Software Engineering 7, 95–126.

    Article  Google Scholar 

  • Tsai, J.J.P. and S. Yang (1995), Monitoring and Debugging Distributed Real-Time Systems, IEEE Computer Society Press, Washington, DC.

    Google Scholar 

  • Valmari, A. (1991), "Stubborn Sets for Reduced State Space Generation," Advances in Petri Nets, Lecture Notes in Computer Science, Vol. 483, Springer-Verlag, pp. 463–478.

    MathSciNet  Google Scholar 

  • Vestal, S. (1996), MetaH Programmer's Manual, Version 1.09, Technical Report, Honeywell Technology Center.

  • Zhou, M., K. McDermott, and P.A. Patel (1993), "Petri Net Synthesis and Analysis of a Flexible Manufacturing System Cell," IEEE Transactions on Systems, Man and Cybernetics 23, 2, 523–531.

    Article  MATH  Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tsai, J.J., Xu, K. A comparative study of formal verification techniques for software architecture specifications. Annals of Software Engineering 10, 207–223 (2000). https://doi.org/10.1023/A:1018960305057

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018960305057

Keywords

Navigation