Skip to main content

A Method for Modeling and Testing Exceptions in Component-Based Software Development

  • Conference paper
Dependable Computing (LADC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3747))

Included in the following conference series:

Abstract

The design, implementation and testing of the exceptional activity of a software system are complex tasks that usually do not receive the necessary attention from existing development methodologies. This work presents a systematic way to deal with exception handling, from the requirement specification phase to the implementation and testing phases, in component-based software development. Testing activities are performed since the early stages of development, promoting an increase in the quality of the produced system. Our solution refines the Methodology for the Definition of Exception Behavior, MDCE, in the architectural design, implementation, and testing phases. Moreover, the proposed method was adapted to the UML Components process.

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. Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  2. Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: the kobra approach. In: Proceedings of the 1st conference on Software product lines: experience and research directions, Norwell, MA, USA, pp. 289–309. Kluwer Academic Publishers, Dordrecht (2000)

    Google Scholar 

  3. Atkinson, C., Gross, H.-G.: Built-in contract testing in model-driven, component-based development. In: Proceedings of the 1st International Working Conference on Component Deployment, Workshop on Component-based Software Development Processes (2002)

    Google Scholar 

  4. Bertolino, A., Marchetti, E., Muccini, H.: Introducing a reasonably complete and coherent approach for model-based testing. Electr. Notes Theor. Comput. Sci. 116, 85–97 (2005)

    Article  Google Scholar 

  5. Binder, R.V.: Design for testability in object-oriented systems. Communications of the ACM 37(9), 87–101 (1994)

    Article  Google Scholar 

  6. Binder, R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)

    Google Scholar 

  7. Briand, L., Dzidek, W., Labiche, Y.: Using aspect-oriented programming to instrument ocl contracts in java. Technical Report SCE-04-03, Carleton University (2004)

    Google Scholar 

  8. Briand, L., Labiche, Y.: A uml-based approach to system testing. Software and Systems Modeling 1(1), 10–42 (2002)

    Article  Google Scholar 

  9. Chessman, J., Daniels, J.: UML Components: A Simple Process for Specifying Component-Based Software. Paperback (1992)

    Google Scholar 

  10. da Silva Brito, P.H., Rocha, C.R., Martins, E., Rubira, C.M.F.: An integrated method for modeling and testing exceptions in component-based software development: A case study (in portuguese). Technical Report (to appear), Institute of Computing (2005)

    Google Scholar 

  11. da Silva Jr., M.C., de C. Guerra, P.A., Rubira, C.M.F.: A java component model for evolving software systems. In: Proc. of the ASE, pp. 327–330 (2003)

    Google Scholar 

  12. de Lemos, R., Romanovsky, A.: Exception handling in a cooperative object-oriented approach. In: Proc. of the 2nd IEEE ISORC 1999 (May 1999)

    Google Scholar 

  13. de Oliveira Moraes, R.L., Martins, E.: Jaca - a software fault injection tool. In: DSN, p. 667. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  14. D’Souza, D., Wills, A.C.: Objects, Components, and Frameworks with UML The Catalysis Approach, 2nd edn. Addison-Wesley, Reading (1999)

    Google Scholar 

  15. Farias, C., Machado, P.: A functional testing method for components verification (in portuguese). In: Proc. Brazilian Software Engineering Symposium, SBES (2003)

    Google Scholar 

  16. Filho, F.C., Brito, P.H.S., Rubira, C.M.F.: A framework for analyzing exception flow in software architectures. In: Proceedings of the ICSE 2005 Workshop on Architecting Dependable Systems (2005)

    Google Scholar 

  17. Filho, F.C., de C. Guerra, P.A., Pagano, V.A., Rubira, C.M.F.: A systematic approach for structuring exception handling in robust component-based software. Journal of the Brazilian Computer Society - Special Issue on Dependable Computing (2005)

    Google Scholar 

  18. Goodenough, J.B.: Exceptional handling: Issues and a proposed notation. CACM 18(12) (1975)

    Google Scholar 

  19. Object Management Group. OMG Unified Modeling Language Specification Version 1.5 (2003)

    Google Scholar 

  20. Object Management Group. UML 2.0 OCL Specification (2003)

    Google Scholar 

  21. Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  22. Koopman, P.: et al. Ballista project: Cots software robustness testing (2003), http://www.ece.cmu.edu/~koopman/ballista/

  23. Kropp, N.P., Koopman, P.J., Siewiorek, D.P.: Automated robustness testing of off-the-shelf software components. In: FTCS 1998: Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing, Washington, DC, USA, p. 230. IEEE Computer Society, Los Alamitos (1998)

    Google Scholar 

  24. Martins, E., Toyota, C.M., Yanagawa, R.L.: Constructing self-testable software components. In: Proc. DSN 2001 (2001)

    Google Scholar 

  25. Messina, S., Pleinevaux, P.: Enhancing cimosa with exception handling. In: Proceedings of the International Symposium on Robotics and Manufacturing ISRAM, World Automation Congress 1996, Montpellier, France (May 1996)

    Google Scholar 

  26. Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Hall, Englewood Cliffs (1988)

    Google Scholar 

  27. Reimer, D., Srinivasan, H.: Analysing exception usage in large java applications. In: Proc. of ECOOP Workshop on Exception Handling in Object-Oriented Systems(EHOOS 2003) (2003)

    Google Scholar 

  28. Rivest, R.L., Leiserson, C.E.: Introduction to Algorithms. McGraw-Hill, Inc., New York (1990)

    MATH  Google Scholar 

  29. Rocha, C.R., Martins, E.: A strategy to improve component testability without source code. In: Beydeda, S., Gruhn, V., Mayer, J., Reussner, R., Schweiggert, F. (eds.) SOQUA/TECOS, GI. LNI, vol. 58, pp. 47–62 (2004)

    Google Scholar 

  30. Rubira, C., de Lemos, R., Ferreira, G., Filho, F.C.: Exception handling in the development of dependable component-based systems. In: Software Practice and Experience. John Wiley and Sons, Chichester (2005)

    Google Scholar 

  31. Schneider, G., Winters, J.P.: Applying Use Cases: A Practical Guide, 1st edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  32. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, 1st edn. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  33. Sinha, S., Harrold, M.J.: Analysis and testing of programs with exception handling constructs. IEEE Transactions on Software Engineering 26(9), 849–871 (2000)

    Article  Google Scholar 

  34. Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (1995)

    Google Scholar 

  35. Szyperski, C.: Component software and the way ahead. In: Gary, T. (ed.) Foundations of Component-Based Systems, ch. 1, pp. 1–20. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  36. Tomita, R.T., Filho, F.C., Rubira, C.M.F.: Bellatrix: An environment to provide architectural support for component-based software development (in portuguese). In: IV Workshop of Component-Based Development, WDBC 2004 (September 2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

da S. Brito, P.H., Rocha, C.R., Filho, F.C., Martins, E., Rubira, C.M.F. (2005). A Method for Modeling and Testing Exceptions in Component-Based Software Development. In: Maziero, C.A., Gabriel Silva, J., Andrade, A.M.S., de Assis Silva, F.M. (eds) Dependable Computing. LADC 2005. Lecture Notes in Computer Science, vol 3747. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572329_8

Download citation

  • DOI: https://doi.org/10.1007/11572329_8

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-32092-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics