Program Refactoring using Functional Aspects

kaestner@cs.cmu.edu (S. Apel, C. Kästner, D. Batory)
Fri, 10 Jan 2025 13:48:21 GMT

Sven Apel, Christian Kästner, and Don Batory. Program Refactoring using Functional Aspects. In Proceedings of the 7th ACM International Conference on Generative Programming and Component Engineering (GPCE), ISBN 978-1-60558-267-2, pages 161--170, New York, NY: ACM Press, August 2008.

A functional aspect is an aspect that has the semantics of a transformation; it is a function that maps a program to an advised program. Functional aspects are composed by function composition. In this paper, we explore functional aspects in the context of aspect-oriented refactoring. We show that refactoring legacy applications using functional aspects is just as flexible as traditional aspects in that (a) the order in which aspects are refactored does not matter, and (b) the number of potential aspect interactions is decreased. We analyze several aspect-oriented programs of different sizes to support our claims.