A book on C
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
An Initial Experiment in Reverse Engineering Aspects
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Journal of Systems and Software
Hi-index | 0.00 |
The last couple of years, various idioms used in the 15 MLOC C code base of ASML, the world's biggest lithography machine manufacturer, have been unmasked as crosscutting concerns. However, finding a scalable aspect-based implementation for them did not succeed thusfar, prohibiting sufficient separation of concerns and introducing possibly dangerous programming mistakes. This paper proposes a concise aspect-based implementation in Aspicere2 for ASML's exception handling idiom, based on prior work of join point properties, annotations and type parameters, to which we add the new concept of (local) continuation join points. Our solution takes care of the error value propagation mechanism (which includes aborting the main success scenario), logging, resource cleanup, and allows for local overrides of the default aspect-based recovery. The highly idiomatic nature of the problem in tandem with the aforementioned concepts renders our aspects very robust and tolerant to future base code evolution.