Skip to main content

Model-Checking Plus Testing: From Software Architecture Analysis to Code Testing

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3236))

Abstract

Software Model-Checking and Testing are some of the most used techniques to analyze software systems and identify hidden faults. While software model-checking allows for an exhaustive and automatic analysis of the system expressed through a model, software testing is based on a clever selection of “relevant” test cases, which may be manually or automatically run over the system.

In this paper we analyze how those two analysis techniques may be integrated in a specific context, where a Software Architecture (SA) specification of the system is available, model-checking techniques are used to validate the SA model conformance with respect to selected properties, while testing techniques are used to validate the implementation conformance to the SA model.

The results of this research are applied to an SDH Telecommunication system architecture designed by Siemens CNX.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ammann, P., Black, P.: Abstracting formal specifications to generate software tests via model checking. In: Proceedings of the 18th Digital Avionics Systems Conference (DASC 1999), October 1999, vol. 2, p. 10.A.6. IEEE, Los Alamitos (1999)

    Google Scholar 

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

    Google Scholar 

  3. Bertolino, A.: Software Testing. In: SWEBOK: Guide to the Software Engineering Body of Knowledge, IEEE

    Google Scholar 

  4. Buchi, R.: On a decision method in restricted second order arithmetic. In: Proc. of the International Congress of Logic, Methodology and Philosophy of Science, pp. 1–11. Standford University Press, Stanford (1960)

    Google Scholar 

  5. Callahan, J., Schneider, F., Easterbrook, S.: Automated software testing using modelchecking. In: Proceedings 1996 SPIN Workshop (August 1996)

    Google Scholar 

  6. Charmy Project. Charmy web site (March 2004), http://www.di.univaq.it/charmy

  7. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking, 2nd edn. The MIT Press, Cambridge (2000)

    Google Scholar 

  8. Compare, D., Inverardi, P., Pelliccione, P., Sebastiani, A.: Integrating modelchecking architectural analysis and validation in a real software life-cycle. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 114–132. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Zheng, H.: Bandera: extracting finite-state models from java source code. In: International Conference on Software Engineering, pp. 439–448 (2000)

    Google Scholar 

  10. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: Help for the practicing programmer. IEEE Comp. 11(4), 34–41 (1978)

    Article  Google Scholar 

  11. Formal Methods for Software Architectures. Tutorial book on Software Architectures and formal methods. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804 (2003)

    Google Scholar 

  12. Gargantini, A., Heitmeyer, C.L.: Using model checking to generate tests from requirements specifications. In: ESEC / SIGSOFT FSE, pp. 146–162 (1999)

    Google Scholar 

  13. Garlan, D.: Software Architecture. Encyclopedia of Software Engineering. John Wiley & Sons, Inc., Chichester (2001)

    Google Scholar 

  14. Heimdahl, M.P., Rayadurgam, S., Visser, W., Devaraj, G., Gao, J.: Autogenerating test sequences using model checkers: A case study. In: FATES 2003 (2003)

    Google Scholar 

  15. Holzmann, J.G.: The logic of bugs. In: Proc. Foundations of Software Engineering (SIGSOFT 2002/FSE-10) (2002)

    Google Scholar 

  16. Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual, September 2003. Addison-Wesley, Reading (2003)

    Google Scholar 

  17. Inverardi, P., Muccini, H., Pelliccione, P.: Charmy: A framework for model based consistency checking. TR., Dept. of Comp. Science, Univ. of L’Aquila (May 2004)

    Google Scholar 

  18. Peterson, I.: Fatal Defect: Chasing Killer Computer Bugs. Random House Publisher (1995)

    Google Scholar 

  19. 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

  20. Muccini, H., Bertolino, A., Inverardi, P.: Using Software Architecture for Code Testing. IEEE Transactions on Software Engineering 30(3), 160–171 (2004)

    Article  Google Scholar 

  21. Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symposium on Foundation of Computer Science, pp. 46–57 (1977)

    Google Scholar 

  22. Rayadurgam, S., Heimdahl, M.P.E.: Coverage based test-case generation using model checkers. In: 8th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS) (April 2001)

    Google Scholar 

  23. 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 

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

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bucchiarone, A., Muccini, H., Pelliccione, P., Pierini, P. (2004). Model-Checking Plus Testing: From Software Architecture Analysis to Code Testing. In: Núñez, M., Maamar, Z., Pelayo, F.L., Pousttchi, K., Rubio, F. (eds) Applying Formal Methods: Testing, Performance, and M/E-Commerce. FORTE 2004. Lecture Notes in Computer Science, vol 3236. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30233-9_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30233-9_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23169-1

  • Online ISBN: 978-3-540-30233-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics