2004情報処理学会論文誌プログラミング(PRO)Requires access

Refactoring Aspect - Oriented Programs

Iwamoto Masanori, Jianjun Zhao

Open publisher page 44 citations

Abstract

Refactoring is the process of changing a program to improve its internal structure and reusability, without altering the external behavior of the program. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In this paper, we propose a systemic approach to refactoring aspect-oriented programs. To this end, we rst investigate the impact of existing object-oriented refactorings such as those proposed by Fowler [4] on aspect-oriented programs. Then we propose some new aspect-oriented refactorings that are unique to aspect-oriented programs. Finally, we discuss tool support for automatic refactoring of aspect-oriented programs. We use AspectJ, a general-purpose AOP language to demonstrate our approach, but our approach is general enough to be applicable to other AOP languages.

About this research paper

What this paper is about

Refactoring is the process of changing a program to improve its internal structure and reusability, without altering the external behavior of the program. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In this paper, we propose a systemic approach to refactoring aspect-oriented programs. To this end, we rst investigate the impact of existing object-oriented refactorings such as those proposed by Fowler [4] on aspect-oriented programs. Then we propose some new aspect-oriented refactorings that are unique to aspect-oriented programs. Finally, we discuss tool support for automatic refactoring of aspect-oriented programs. We use AspectJ, a general-purpose AOP language to demonstrate our approach, but our approach is general enough to be applicable to other AOP languages.

Why it matters

OpenAlex reports 44 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Refactoring is the process of changing a program to improve its internal structure and reusability, without altering the external behavior of the program. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In this paper, we propose a systemic approach to refactoring aspect-oriented programs. To this end, we rst investigate the impact of existing object-oriented refactorings such as those proposed by Fowler [4] on aspect-oriented programs. Then we propose some new aspect-oriented refactorings that are unique to aspect-oriented programs. Finally, we discuss tool support for automatic refactoring of aspect-oriented programs. We use AspectJ, a general-purpose AOP language to demonstrate our approach, but our approach is general enough to be applicable to other AOP languages.

Key concepts: AspectJ, Code refactoring, Aspect-oriented programming, Reusability, Programming language, Computer science, Object-oriented programming, Process (computing)

Related papers

Back to paper searchBrowse research topicsOriginal source
Refactoring Aspect - Oriented Programs — Research Paper | ScholarLens