DocumentCode
3297778
Title
Reengineering Idiomatic Exception Handling in Legacy C Code
Author
Bruntink, Magiel
Author_Institution
Delft Univ. of Technol., Delft
fYear
2008
fDate
1-4 April 2008
Firstpage
133
Lastpage
142
Abstract
Some legacy programming languages, e.g., C, do not provide adequate support for exception handling. As a result, users of these legacy programming languages often implement exception handling by applying an idiom. An idiomatic style of implementation has a number of drawbacks: applying idioms can be fault prone and requires significant effort. Modern programming languages provide support for structured exception handling (SEH) that makes idioms largely obsolete. Additionally, aspect-oriented programming (AOP) is believed to further reduce the effort of implementing exception handling. This paper investigates the gains that can be achieved by reengineering the idiomatic exception handling of a legacy C component to these modern techniques. First, we will reengineer a C component such that its exception handling idioms are almost completely replaced by SEH constructs. Second, we will show that the use of AOP for exception handling can be beneficial, even though the benefits are limited by inconsistencies in the legacy implementation.
Keywords
C language; exception handling; object-oriented programming; software maintenance; systems re-engineering; SEH constructs; aspect-oriented programming; idiomatic exception handling reengineering; legacy C component; legacy programming languages; structured exception handling; Books; Computer languages; Control systems; Java; Lithography; Manufacturing; Performance analysis; Programming profession; Software maintenance; Software systems; aspect-oriented programming; exception handling; software maintenance;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on
Conference_Location
Athens
ISSN
1534-5351
Print_ISBN
978-1-4244-2157-2
Type
conf
DOI
10.1109/CSMR.2008.4493308
Filename
4493308
Link To Document