Automatic Detection and Masking of Non-Atomic Exception Handling

Publikation: Beitrag in FachzeitschriftForschungsartikelBeigetragenBegutachtung

Beitragende

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.

Details

OriginalspracheEnglisch
Seiten (von - bis)547-560
Seitenumfang14
FachzeitschriftIEEE Transactions on Software Engineering
Jahrgang30
Ausgabenummer8
PublikationsstatusVeröffentlicht - 2004
Peer-Review-StatusJa

Externe IDs

Scopus 4344700755

Schlagworte

Forschungsprofillinien der TU Dresden

DFG-Fachsystematik nach Fachkollegium

Schlagwörter

  • Index Terms-Software engineering, Software/program verification, reliability, testing and debugging, error handling and recovery, testing tools, nonatomic exception handling, robust software development, C++, Java, program testing, error handling, error recovery, exception handling, runtine, error correctioin codes, performance evaluation