Font Size: a A A

Coupling Measurement And Its Applications For Aspect-oriented Programs

Posted on:2011-09-13Degree:MasterType:Thesis
Country:ChinaCandidate:H H ShenFull Text:PDF
GTID:2178360308452635Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
In current software development, coupling is always used as an indicator to measure the dependencies between system components. Highly coupled systems have strong interconnections, with modules dependent on each other. Normally, writing modules with low coupling is thought to be a desirable goal during software development, because a module with low coupling is easier to maintain and reuse. Coupling metrics are often used as predictors of software external quality attributes such as maintainability, reusability and reliability. Many coupling frameworks are proposed to measure coupling dependencies in object-oriented systems and several studies carry out static coupling dependency analysis in aspect-oriented systems. However, few research works focus on systematic coupling analysis for both static and dynamic coupling measurement in aspect-oriented systems. In this paper, we propose a suite of coupling framework for AspectJ programs. At the core of framework is an invocation relationship between modules. Based on the coupling between modules, we measure the coupling dependencies between components and then overall system coupling.Based on the proposed framework, we present two typical applications in aspect-oriented systems.1. System maintainability evaluation. In this paper, a suite of fine-grained coupling metrics are presented to measure the coupling for software change during system evolution. We identify changed modules by change impact analysis and measure the coupling value for each module. Finally, we employ statistical correlation analysis and propose several indicators to evaluate the impact of software change on system maintainability.2. Aspectual refactoring evaluation. Aspectual refactoring has been widely used in practical software maintenance tasks. However, the study on the coupling impact of aspectual refactoring is still missing. Therefore, it is difficult for programmers to assess whether aspectual refactoring should be applied or not without knowing its effect accurately. In this paper, we propose a coupling framework for both static and dynamic module dependencies. We employ a multiple linear regression model to fit the coupling scattering degree during aspectual refactoring and evaluate the effectiveness of aspectual refactoring.In terms of the proposed framework, we implement two automated tools, AJMetrics and AJDyMetrics, to measure the static and dynamic coupling dependencies in aspect-oriented systems, respectively. We use 23 design patterns, 5 AspectJ benchmarks, and 2 large-scale applications to perform experimental evaluations on our coupling framework. Experimental results demonstrate the accurateness of our tools, the impact of software changes on system maintainability, and the effectiveness of aspectual refactoring.
Keywords/Search Tags:Coupling Framework, Software Change, Aspect-oriented Programs, Multiple Linear Regression Model, System Maintainability, Aspectual Refactoring
PDF Full Text Request
Related items