Authors:
Fabrice Déhoulé
;
Linda Badri
and
Mourad Badri
Affiliation:
University of Quebec, Canada
Keyword(s):
Software Evolution, Aspect-Oriented Programming, Change, Ripple Effect, Impact Analysis, Predictive Analysis, Model, Impact Rules, Empirical Analysis.
Related
Ontology
Subjects/Areas/Topics:
Service-Oriented Software Engineering and Management
;
Software and Systems Development Methodologies
;
Software Change and Configuration Management
;
Software Engineering
;
Software Metrics
;
Software Project Management
Abstract:
Software change impact analysis (IA) plays a crucial role in software evolution. IA aims at identifying the
possible effects of a source code modification. It is often used to evaluate the effects of a change after its
implementation. However, more proactive approaches use IA to predict the potential effects of a change
before it is implemented. In this way, IA provides useful information that can be used, among others, to
guide the implementation of the change and to support regression tests selection. This paper aims at
proposing a change impact analysis model for AspectJ programs. Aspect-Oriented Programming (AOP) is a
natural extension of Object-Oriented Programming (OOP). It particularly promotes improved separation of
crosscutting concerns into single units called aspects. The IA techniques proposed for object-oriented
programs are not directly applicable for aspect-oriented programs due to the new dependencies introduced
by aspects. The proposed model was designed to particula
rly support predictive IA. The model includes
several impact rules based on the AspectJ language constructs. We performed an empirical evaluation of the
model using several AspectJ programs. In order to assess the model prediction quality, we used two
traditional measures: precision and recall. The reported results show that the model is able to achieve high
accuracy.
(More)