skip to main content
10.1145/1454268.1454271acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Extended exceptions for contingencies and their implications for the engineering process

Published:14 November 2008Publication History

ABSTRACT

We observed a general problem of sequential programs, which often results in design and programming errors in industrial software engineering projects, and propose a solution approach. Telephone lines may be busy, banking accounts may be overdrawn and disks may be full. These things happen in the real world, causing the disruption and non-fulfillment of an expected service. Ignoring these problems leads to violations of the postconditions of the caller that depends on the service. The conditions are exactly known and cannot always be avoided, but measures could be taken afterwards. A good program should handle them as part of the specification. As such they are not specification violations and should not be regarded as errors. Unfortunately, they usually can or shall not be handled immediately within the direct caller, e.g., for information hiding reasons. The problem is similar to the problem of error code handling and handling them with exception mechanisms seems reasonable, but the problem is even more complex. These situations must not terminate the system suddenly, because that also violates postconditions. Consequently, exceptions for these situations must be distinguished from exceptions for errors and are worth handling separately. Therefore, we introduce the new concept contingency for such situations. Since the conditions are defined, they are candidates for forward recovery, but conventional exception mechanisms are not appropriate for that purpose. Appropriate mechanisms are presented in this paper. A systematic inspection and handling of contingencies with these mechanisms before runtime can diagnose and avoid subsets of specification violations effectively. This implies some consequences for the engineering process.

References

  1. A. Avizienis, J.-C. Laprie, B. Randell, and C. E. Landwehr. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Sec. Comput., 1(1):11--33, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. B. Goodenough. Exception handling: issues and a proposed notation. Commun. ACM, 18(12):683--696, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. H. Liskov and A. Snyder. Exception handling in CLU. IEEE Trans. Softw. Eng., 5(6):546--558, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Meyer. Object-Oriented Software Construction. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Oracle. Oracle9 i database error messages, release 2 (9.2) part no. a96525-01. 2002. http://download.oracle.com/docs/cd/B10501_01/server.920/a96525.pdf.Google ScholarGoogle Scholar
  6. K. M. Pitman. Exceptional situations in Lisp. In Proceedings for the First European Conference on the Practical Application of Lisp (EUROPAL'90), Cambridge, UK, 1990.Google ScholarGoogle Scholar
  7. M. Raento. What should exceptions look like? Mika Raento's Blog, July 2006. http://www.errorhandling.org/wordpress/?page_id=100.Google ScholarGoogle Scholar
  8. B. Ruzek. Effective java exceptions. dev2dev.bea.com, January 2007. http://www.oracle.com/technology/pub/articles/dev2arch/2006/11/effective-exceptions.html.Google ScholarGoogle Scholar
  9. P. Seibel. Practical Common Lisp. Apress, September 2004. PDF at http://www.apress.com/resource/freeebook/9781590592397 and HTML at http://gigamonkeys.com/book/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. van Ellen and W. Hasselbring. Extended exception mechanisms for contingencies. In SERENE 2008: Proceedings of the Software EngineeRing for rEsilieNt systEms 2008 workshop, Newcastle upon Tyne (UK), 2008. (In press).Google ScholarGoogle Scholar
  11. D. Weinreb. What conditions (exceptions) are really about. Dan Weinreb's Weblog, March 2008. http://danweinreb.org/blog/what-conditions-exceptions-are-really-about.Google ScholarGoogle Scholar

Index Terms

  1. Extended exceptions for contingencies and their implications for the engineering process

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        WEH '08: Proceedings of the 4th international workshop on Exception handling
        November 2008
        72 pages
        ISBN:9781605582290
        DOI:10.1145/1454268

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 14 November 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Upcoming Conference

        FSE '24
      • Article Metrics

        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader