Design and Implementation of an Algorithm for the Strong Exception-Safety Guarantee in C++

Examensarbete för masterexamen

Please use this identifier to cite or link to this item:
Download file(s):
There are no files associated with this item.
Type: Examensarbete för masterexamen
Master Thesis
Title: Design and Implementation of an Algorithm for the Strong Exception-Safety Guarantee in C++
Authors: Munkby, Gustav
Abstract: Exception handling mechanisms provide a structured way to deal with exceptional circumstances, which makes it easier to read a program and reason about it, but cannot avoid the problem that the transfer of control might leave the program in an inconsistent state---resources might leak, invariants might be violated, the program state might be changed. Since client code often needs to know how a program behaves in the presence of exceptions, the exception safety classification distinguishes three different classes of safety guarantees; this classification is used, for example, during the review process in the Boost organization for standardized libraries in C++. Although it is not easy to correctly classify the exception level of a procedure, no tool support was available until now; thus, designers and reviewers had to trace the control flow of a program manually and along all hidden execution paths. In this paper we present the first automated analysis for exception guarantees. The analysis addresses two of the three safety guarantees, the strong and the no-throw guarantee. The analysis is implemented in the BangSafe tool set, which interfaces the Elsa parser for C++ and targets C++-programs. BangSafe itself is implemented in Ruby.
Keywords: Datavetenskap (datalogi);Computer Science
Issue Date: 2006
Publisher: Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)
Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)
Collection:Examensarbeten för masterexamen // Master Theses

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.