Skip to main content

Formal Methods in Testing Software Architectures

  • Chapter
Formal Methods for Software Architectures (SFM 2003)

Abstract

SAs provide a high-level model of large, complex systems using suitable abstractions of the system components and their interactions. SA dynamic descriptions can be usefully employed in testing and analysis. We describe here an approach for SA-based conformance testing: architectural tests are selected from a Labelled Transition System (LTS) representing the SA behavior and are then refined into concrete tests to be executed on the implemented system. To identify the test sequences, we derive abstract views of the LTS, called the ALTSs, to focus on relevant classes of architectural behaviors and hide away uninteresting interactions. The SA description of a Collaborative Writing system is used as an example of application. We also briefly discuss the relation of our approach with some recent research in exploiting the standard UML notation as an Architectural Description Language, and in conformance testing of reactive systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The AGEDIS Project: Automated Generation and Execution of Test Suites for Distributed Component-based Software, On-line at http://www.agedis.de

  2. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Trans. on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  3. Basanieri, F., Bertolino, A., Marchetti, E.: The Cow_Suite Approach to Planning and Deriving Test Suites in UML Projects. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 383–397. Springer, Heidelberg (2002)

    Google Scholar 

  4. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. In: SEI Series in Software Engineering. Addison-Wesley, Reading (1998)

    Google Scholar 

  5. Bertolino, A.: Knowledge Area Description of Software Testing. In: SWEBOK, Joint IEEE-ACM Software Engineering Coordinating Committee, On-line at: http://www.swebok.org

  6. Bertolino, A.: Software Testing Research and Practice. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 1–21. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Bertolino, A., Inverardi, P.: Architecture-based software testing. In: Proc. ISAW 1996 (October 1996)

    Google Scholar 

  8. Bertolino, A., Corradini, F., Inverardi, P., Muccini, H.: Deriving Test Plans from Architectural Descriptions. In: ACM Proc. Int. Conf. on Software Engineering (ICSE 2000), June 2000, pp. 220–229 (2000)

    Google Scholar 

  9. Bertolino, A., Inverardi, P., Muccini, H.: An Explorative Journey from Architectural Tests Definition downto Code Tets Execution. In: IEEE Proc. Int. Conf. on Software Engineering (ICSE 2001), May 2001, pp. 211–220 (2001)

    Google Scholar 

  10. Briand, L., Labiche, Y.: A UML-Based Approach to System Testing. Software and System Modeling 1(1), 10–42 (2002)

    Article  Google Scholar 

  11. The C2 style and ADL, Project web page on-line at: http://www.isr.uci.edu/architecture/c2.html

  12. The C2 Framework, On-line at: http://www.isr.uci.edu/architecture/software.html

  13. Caesar/Aldebaran Tool (CADP), On-line at: http://inrialpes.fr/vasy/cadp

  14. Carver, R.H., Tai, K.-C.: Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs. IEEE Trans. on Software Engineering 24(6), 471–490 (1998)

    Article  Google Scholar 

  15. Conallen, J.: Building Web Applications with UML. The Addison-Wesley Object Technology Series

    Google Scholar 

  16. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages. In: Proc. of the 24th Int. Conf. on Software Engineering (2002)

    Google Scholar 

  17. De Nicola, R., Hennessy, M.: Testing Equivalences for Processes. Theoretical Computer Science 34, 83–133 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  18. Dick, J., Faivre, A.: Automating the Generation and Sequencing of Test Cases from Model-Based Specifications. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 268–284. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  19. FC2Tools, On-line at: http://www-sop.inria.fr/meije/verification/quick-guide.html

  20. Fernandez, J.-C., Jard, C., Jeron, T., Nedelka, L., Viho, C.: An Experiment in Automatic Generation of Test Suites for Protocols with Verification Technology. Special Issue of Science of Computer Programming 29, 123–146 (1997)

    Article  Google Scholar 

  21. Finite State Process (FSP), On-line at: http://www.dse.doc/ic.ac.uk/~jnm/book/ltsa/Appendix-A.html

  22. Harrold, M.J.: Architecture-Based Regression Testing of Evolving Systems. In: Proc. Int. Workshop on the ROle of Software Architecture in TEsting and Analysis (ROSATEA), CNR-NSF, pp. 73–77 (July 1998)

    Google Scholar 

  23. Harrold, M.J.: Testing: A Roadmap. In: Finkelstein, A. (ed.) ACM ICSE 2000, The Future of Software Engineering, pp. 61–72 (2000)

    Google Scholar 

  24. Hofmeister, C., Nord, R.L., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (1999)

    Google Scholar 

  25. Inverardi, P., Wolf, A.L.: Formal Specifications and Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE Trans. on Software Engineering 21(4), 100–114 (1995)

    Article  Google Scholar 

  26. Inverardi, P., Tivoli, M., Bucchiarone, A.: Coordinators synthesis for COTS group-ware systems: an example. In: Proc. Int. Workshop on Distributed and Mobile Collaboration, 2003 (DMC 2003). Extended version as technical Report, University of LAquila, Department of Computer Science (March 2003), http://www.di.univaq.it/tivoli/cscw_techrep.pdf

  27. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Object Technology Series. Addison Wesley, Reading (1999)

    Google Scholar 

  28. Jard, C., Jéron, T.: TGV: Theory, Principles and Algorithms. In: Proc. Conf. IDPT 2002, Pasadena, USA (2002)

    Google Scholar 

  29. Jrjens, J.: UMLsec: Extending UML for Secure Systems Development. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, p. 412. Springer, Heidelberg (2002)

    Google Scholar 

  30. Kruchten, P.: Architectural Blueprints - The “4+1” View Model of Software Architecture. IEEE Software 12(6), 42–50 (1995)

    Article  Google Scholar 

  31. Labelled Transition System Analyzer (LTSA), On-line at: http://www-dse.doc.ic.ac.uk/~jnm/book/

  32. Lay, M., Karis, M.: Collaborative writing in industry: Investigations in theory and practice. Baywood Publishing Company, Amityville (1991)

    Google Scholar 

  33. Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Trans. on Software Engineering, Special Issue on Software Architecture 21(4), 336–355 (1995)

    Google Scholar 

  34. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, Chichester (April 1999)

    MATH  Google Scholar 

  35. Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(1) (January 2002)

    Google Scholar 

  36. Milner, R.: Communication on Concurrences. International Series on Computer Science. Prentice Hall International, Englewood Cliffs (1989)

    Google Scholar 

  37. Muccini, H.: Software Architecture for Testing, Coordination Models and Views Model Checking. PhD thesis, University of L’Aquila, year (2002), On-line at: http://www.HenryMuccini.com/publications.htm

  38. Muccini, H., Bertolino, A., Inverardi, P.: Using Software Architecture for Code Testing Submitted for publication

    Google Scholar 

  39. Muccini, H., Bertolino, A., Inverardi, P.: Using Software Architecture for Code Testing. Long version of [38], On-line at http://www.HenryMuccini.com/publications.htm

  40. Richardson, D.J., Wolf, A.L.: Software testing at the architectural level. In: ISAW-2 in Joint Proc. of the ACM SIGSOFT 1996 Workshops, pp. 68–71 (1996)

    Google Scholar 

  41. Richardson, D.J., Stafford, J., Wolf, A.L.: A Formal Approach to Architecturebased Software Testing. Technical Report, University of California, Irvine (1998)

    Google Scholar 

  42. TorX Test Tool Information, http://fmt.cs.utwente.nl/tools/torx/introduction.html

  43. Tretmans, J.: Test Generation with Inputs, Outputs and Repetitive Quiescence. Software–Concepts and Tools 17(3), 103–120 (1996)

    MATH  Google Scholar 

  44. Tretmans, J.: Testing Concurrent Systems: A Formal Approach. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 46–65. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  45. UML. Object Management Group: OMG Unified Modeling Language (UML), V1.4 (2001), http://www.omg.org

  46. de Vries, R.G., Tretmans, J.: Towards Formal Test Purposes. In: Proc. FATES 2001, Aalborg, Denmark (2001)

    Google Scholar 

  47. Watson, A.H., McCabe, T.J.: Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric. NIST Special Publication 500-235 (August 1996)

    Google Scholar 

  48. Young, M.: Testing Complex Architectural Conformance Relations. In: Proc. Int. Workshop on the ROle of Software Architecture in TEsting and Analysis (ROSATEA), CNR-NSF, pp. 42–45 (July 1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bertolino, A., Inverardi, P., Muccini, H. (2003). Formal Methods in Testing Software Architectures. In: Bernardo, M., Inverardi, P. (eds) Formal Methods for Software Architectures. SFM 2003. Lecture Notes in Computer Science, vol 2804. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39800-4_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39800-4_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20083-3

  • Online ISBN: 978-3-540-39800-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics