Improving Software Modularity through Crosscutting Concern Extraction

نویسنده

  • Isaac Yuen
چکیده

Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preserving code transformation to extract the crosscutting code into aspects). However, not all the data obtained from aspectmining corresponds to crosscutting concerns, and existing aspect languages may not be capable of refactoring all crosscutting concerns into aspects. In this thesis, we describe an approach for extracting crosscutting concerns in a system to a form that is suitable for refactoring. This process includes identifying the presence of crosscutting code clusters in aspect-mining results; assessing if the concerns should be extracted using various metrics; and performing code transformation to extract the crosscutting clusters into standalone methods with a common method signature and parameters. The work also describes the ConcernExtractor, a software tool that implements the concern cluster extraction technique. We apply ConcernExtractor to assess and extract the crosscutting concerns in existing systems to evaluate the prevalence of crosscutting concerns that are refactorable, and the applicability of our approach for generating aspect refactoring opportunities.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Assessing the Impact of Crosscutting Concerns on Modularity

The goal of aspect-oriented programming is to modularize crosscutting concerns. To fully appreciate this goal, we must first understand how crosscutting concerns affect modularity and software quality, and to what extent. This is hard to quantify, partly because terms such as “crosscutting”, “concern”, and “modularity” are ill-defined [11] [1], and partly because the scope of the crosscutting c...

متن کامل

An Empirical Assessment of the Impact of Aspect-oriented Programming on Software Modularity

The term “crosscutting concern” describes a piece of system that cannot be cleanly modularized because of the limited abstractions offered by the traditional programming paradigms. Symptoms of implementing crosscutting concerns in the languages like C, C# or Java are “code scattering” and “code tangling” that both degrade software modularity. Aspect-oriented programming (AOP) was proposed as a ...

متن کامل

Study on Aspect Extraction and Program Analysis for Effective Software Development

Aspect-Oriented Programming is proposed to improve modularity for crosscutting concerns. In aspect-oriented programming, an aspect can capture crosscutting structure based on Join Point Model which abstracts an execution of program as a sequence of join points. A join point represents a well-defined event during program execution such as method call, method execution, field access and exception...

متن کامل

Analyzing Class and Crosscutting Modularity with Design Structure Matrixes

Modularization of crosscutting concerns is the main benefit provided by Aspect-Oriented constructs. However, it does not address class modularity adequately. In order to assess both class and crosscutting modularity of AO systems, we use Design Structure Matrixes (DSMs) to analyze three different versions (OO, AO, and AO using design rules) of a real software application. We observed that, in t...

متن کامل

A design rule language for aspect-oriented programming

Aspect-Oriented Programming is known as a technique for modularizing crosscutting concerns. However, constructs aimed to support crosscutting modularity might actually break class modularity. This can be mitigated by using adequate Design Rules between classes and aspects. We present a language that supports most of the Design Rules found in AO Systems, making easy to express and verify them au...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009