Improving Program Correctness with Atomic Exception Handling

نویسندگان

  • Christof Fetzer
  • Pascal Felber
چکیده

Exception handling is a powerful mechanisms for dealing with failures at runtime. It simplifies the development of robust programs by allowing the programmer to implement recovery actions and tolerate non-fatal errors. Yet, exception handling is difficult to get right! The complexity of correct exception handling is a major cause for incorrect exception handling. It is therefore important to reduce the complexity of writing exception handling code while, at the same time, making sure it is correct. Our approach is to use atomic blocks for exception handling combined with optional compensation actions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Exception Handling

The rst part of this paper provides rigorous deenitions for several basic concepts underlying the design of dependable programs, such as speciication, program semantics, exception, program correctness, robustness, failure, fault, and error. The second part investigates what it means to handle exceptions in modular programs structured as hierarchies of data abstractions. The problems to be solve...

متن کامل

Data Dependency Graphs for Ada Programs

We present a novel compositional method of constructing data dependency graphs for Ada programs. These graphs are useful in a program development environment for analyzing data dependencies and tracking information flow within a program. Graphs for primitive program statements are combined together to form graphs for larger program units. Composition rules are described for iteration, recursion...

متن کامل

Towards a Formalisation of Erlang Failure and Failure Detection

This paper discusses preliminary investigations on the behaviour of the error handling mechanisms in Erlang, a parallel language which is renowned for its fault tolerant capabilities. A formal model is defined in order to provide a precise and unambiguous description of the behaviour of these mechanisms. The correctness of the model is evaluated by considering a simple Erlang program and compar...

متن کامل

Dynamic Instrumentation of C++ Applications on IA-64

Dynamic instrumentation is the process of modifying a program’s binary instructions on the fly while the program executes. This technique is used in a wide variety of tools for performance analysis, profiling, coverage analysis, correctness checking, and testing. Instrumenting applications generated from C++ sources reveals new complications, mainly caused by the C++ exception handling mechanis...

متن کامل

Static Analysis for Program Generation Templates

This paper presents an approach to achieving reliable cost-effective software via automatic program generation patterns. The main idea is to certify the patterns once, to establish a reliability property for all of the programs that could possibly be generated from the patterns. We focus here on properties that can be checked via computable static analysis. Examples of methods to assure syntact...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • J. UCS

دوره 13  شماره 

صفحات  -

تاریخ انتشار 2007