AOP(Aspect-Oriented Programming) has attracted considerable attention as a new paradigm supporting more powerful separation of concerns than other paradigms. Now, AOP is used as a complementary technique to OOP(Object-Oriented Programming) in design and implementation phases. In academia, AOP has been applied to various domains to show its effectiveness and applicability, and draw its future directions. In industry, there is a movement to apply AOP to their products. In both areas, it is required to transform crosscutting concerns in an existing program to aspects. However, in the research area of AOP, there is no study to propose a technique supporting such transformation. In this thesis, we propose 22 transformation rules, named $\emph{aspectual refactoring catalog}$, to convert crosscutting concerns in an object-oriented program to aspects in an aspect-oriented program. Because this catalog is defined based on the previous refactoring technique, it should preserve the behavior of the original program. In order to show its preservation, we define preconditions for each refactoring and use graph rewriting technique. The purpose of aspectual refactoring catalog is to improve maintainability of codes. To assess the improvement of refactored codes, two kinds of analysis are made. In qualitative analysis, the refactored program is improved for three subcharacteristics of maintainability defined in ISO 9126. A case study shows that change efforts are reduced after refactoring.