By Peter A. Buhr, Roy Krischer (auth.), Christophe Dony, Jørgen Lindskov Knudsen, Alexander Romanovsky, Anand Tripathi (eds.)

Modern software program platforms have gotten extra advanced in lots of methods and are having to deal with an increasing number of irregular events which, in flip, are more and more complicated to deal with. Exception dealing with is an important a part of software program and process architectures and a very important aspect within the tool-set that permits the development of resilient, powerful and secure software program platforms. ECOOP workshops on exception dealing with have been held in 2003 and 2005. This ebook is basically an consequence of those occasions - a number of workshop contributors in addition to a few different top researchers within the box have been invited to give a contribution a bankruptcy each.

This booklet consists of 5 components; the 1st 4 take care of themes concerning exception dealing with within the context of programming languages, concurrency and working platforms, pervasive computing structures, and specifications and requisites. The final half makes a speciality of case reports, experimentation and qualitative comparisons. The sixteen coherently written chapters via prime researchers properly deal with quite a lot of matters in exception handling.

Show description

Read Online or Download Advanced Topics in Exception Handling Techniques PDF

Best techniques books

Packaging the Brand (Required Reading Range)

Packaging the Brand is a close dialogue of the main openly advertisement quarter of image layout. Packaging represents the biggest overlap among the disciplines of photo layout and branding. whereas many different parts of layout can be advertisement to an volume, the luck of a section of packaging layout is inextricably associated with its skill to promote a product.

Rendering Techniques ’96: Proceedings of the Eurographics Workshop in Porto, Portugal, June 17–19, 1996

27 contributions deal with the cutting-edge in Monte Carlo and Finite point equipment for radiosity and radiance. extra unique subject matters handled are using snapshot maps to trap mild all through house, complexity, volumetric stochastic descriptions, cutting edge methods to sampling and approximation, and procedure structure.

Generative and Transformational Techniques in Software Engineering II: International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007. Revised Papers

This educational booklet provides an augmented choice of the cloth provided on the overseas summer time college on Generative and Transformational suggestions in software program Engineering, GTTSE 2007, held in Braga, Portugal, in July 2007. The 7 educational lectures offered including five brief tutorials and four contributions to the individuals workshop have been rigorously chosen in the course of a number of rounds of reviewing and development.

Extra resources for Advanced Topics in Exception Handling Techniques

Example text

In all of the code surveyed in Section 4, there were only 13 user-defined finalizers. Standard libraries might make good use of finalizers, but this is not always the case. 05 implementation of the Java standard library does not use finalizers for any of the resources we considered in Section 4. , for database connections but not for sockets). While other or newer standard libraries may well use finalizers for all such important resources, one cannot currently portably rely on the library to do so. We want to make something like a finalizer more useful to Java programmers by making it easier to use and giving it destructor-like properties.

Finally, fixing the problem typically has software engineering disadvantages: the distance between any resource acquisition and its associated release increases, and extra control flow used only for exception-handling must be included. In addition, if another procedure wishes to make use of Connections, it must duplicate all of this exception handling code. Duplication is frequent in practice: the Ohioedge source file containing our example also contains two similar procedures with the same mistakes.

Whenever a compensation stack is in scope, we know statically at what location i it was allocated (or loaded). The typing rules for compensation stacks are orthogonal to the typing rules for normal program objects. This type system rejects programs in which it cannot be guaranteed that all compensations will be executed. A compensation stack, which might store un-executed compensations, may only go out of scope if it is stored in a global or if we can prove statically that Exception-Handling Bugs in Java 37 C1 , D1 e1 : C2 , D2 C2 , D2 e2 : C3 , D3 seq skip C, D skip : C, D C1 , D1 e1 ; e2 : C3 , D3 C1 , D1 e1 : C2 , D2 C1 , D1 e2 : C3 , D3 C2 ∪ D2 = C3 ∪ D3 if C1 , D1 if ∗ then e1 else e2 : (C2 ∪ C3 ), (D2 ∩ D3 ) C1 , D1 e : C2 , D2 C1 ∪ D1 = C2 ∪ D2 while C1 , D1 while ∗ do e : C1 ∪ C2 , D1 ∩ D2 C1 , D1 ∪ {i} e : C2 , D2 i ∈ D2 D3 = D2 \ {i} let C1 , D1 let ci = new CompStack() in e : C2 , D3 i∈C compC C, D compensate aj with bj using ci : C, D C, D1 D2 = D1 \ {i} i ∈ D1 compD compensate aj with bj using ci : C ∪ {i}, D2 C2 = C1 \ {i} i ∈ C1 storeC C1 , D store ci : C2 , D ∪ {i} C, D i∈D storeD store ci : C, D C1 ∪ {i}, D1 e : C2 , D2 C3 = C2 \ {i} i ∈ C2 D3 = D2 \ {i} i ∈ D2 load C1 , D1 let ci = load in e : C3 , D3 C2 = C1 \ {i} i ∈ C1 i∈D runC runD C1 , D1 run ci : C2 , D ∪ {i} C, D run ci : C, D i∈C ∪D early C, D runEarly aj from ci : C, D Fig.

Download PDF sample

Rated 4.32 of 5 – based on 13 votes