• DocumentCode
    1041547
  • Title

    Automatic detection and masking of nonatomic exception handling

  • Author

    Fetzer, Christof ; Felber, Pascal ; Högstedt, Karin

  • Author_Institution
    Dept. of Comput. Sci., Dresden Univ. of Technol., Germany
  • Volume
    30
  • Issue
    8
  • fYear
    2004
  • Firstpage
    547
  • Lastpage
    560
  • Abstract
    The development of robust software is a difficult undertaking and is becoming increasingly more important as applications grow larger and more complex. Although modern programming languages such as C++ and Java provide sophisticated exception handling mechanisms to detect and correct runtime error conditions, exception handling code must still be programmed with care to preserve application consistency. In particular, exception handling is only effective if the premature termination of a method due to an exception does not leave an object in an inconsistent state. We address this issue by introducing the notion of failure atomicity in the context of exceptions. We propose practical techniques to automatically detect and mask the nonatomic exception handling situations encountered during program execution. These techniques can be applied to applications written in various programming languages that support exceptions. We perform experimental evaluation on both C++ and Java applications to demonstrate the effectiveness of our techniques and measure the overhead that they introduce.
  • Keywords
    C++ language; Java; exception handling; program debugging; program testing; program verification; software reliability; C++; Java; error handling; error recovery; nonatomic exception handling; program debugging; program testing; program verification; robust software development; software reliability; software verification; Application software; Computer languages; Error correction codes; Java; Performance evaluation; Programming profession; Reliability engineering; Robustness; Runtime; Software testing; 65; Index Terms- Software engineering; error handling and recovery; reliability; software/program verification; testing and debugging; testing tools.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2004.35
  • Filename
    1316871