Change impact analysis for aspect-oriented software evolution

@inproceedings{Zhao2002ChangeIA,
  title={Change impact analysis for aspect-oriented software evolution},
  author={Jianjun Zhao},
  booktitle={IWPSE '02},
  year={2002}
}
  • Jianjun Zhao
  • Published in IWPSE '02 19 May 2002
  • Computer Science
Chang impact analysis is an useful technique for software evolution. Many techniques have been proposed for supporting change impact analysis of procedural or object-oriented software, but no effort has been made for change impact analysis of aspect-oriented software. In this paper, we present an approach to supporting change impact analysis of aspect-oriented software based on program slicing technique. The main feature of our approach is to assess the effect of changes in an aspect-oriented… 
Change impact analysis for AspectJ programs
TLDR
The result shows that the proposed technique can effectively perform change impact analysis and provide valuable information in AspectJ software evolution.
Impact analysis of weaving in aspect-oriented programming
  • H. Shinomi, T. Tamai
  • Engineering
    21st IEEE International Conference on Software Maintenance (ICSM'05)
  • 2005
TLDR
This paper proposes an analysis method for the potential impacts on a base program by weaving and shows that the impact analysis is effective for problem determination of the defects inserted by the weaving, and fordetermination of the scope of the regression tests after weaving.
A Change Impact Analysis Model for Aspect Oriented Programs
TLDR
The proposed model was designed to particularly support predictive IA, and includes several impact rules based on the AspectJ language constructs that are able to achieve high accuracy.
Change impact analysis for object-oriented programs evolved to aspect-oriented programs
TLDR
A method to analyze the possible change impacts caused by woven aspects and the influences of pointcut declarations on the locations of changes and ripple effects based on various dependency relations in object-oriented programs is proposed.
Metrics for Evolution of Aspect Oriented Software
TLDR
A new set of metrics for measuring the evolution of Aspect Oriented software is defined and an aspect refactored software, AJHotDraw has been chosen and its four versions have been analyzed for their capability to evolve over time.
Regression Test Selection for AspectJ Software
  • G. Xu, A. Rountev
  • Computer Science
    29th International Conference on Software Engineering (ICSE'07)
  • 2007
TLDR
A new regression-test-selection technique for AspectJ programs is proposed which captures precisely the semantic intricacies of aspect-related interactions and a novel graph comparison algorithm for test selection is developed.
Metrics for Measuring Change Impacts in AspectJ Software Maintenance and Reuse
TLDR
A change metrics suite for AspectJ software, to measure the impact of changes during system evolution and suggests that the proposed metrics provide helpful information to evaluate the changes in an AO system.
Impact analysis and visualization toolkit for static crosscutting in AspectJ
TLDR
Analysis techniques for inferring the impact of the static crosscutting constructs of AspectJ on base programs, and tools for visualizing the results of the analysis are presented, thus improving the comprehension of AspectingJ systems and guarding against unintended modifications.
Measuring changeability for generic aspect-oriented systems
TLDR
A generic changeability assessment technique that takes into account two well known fami-lies of available AOP languages viz, AspectJ and CaesarJ is defined and shows that highly dependent AO systems will absorb low changeability.
History-based Approach for Detecting Modularity Defects in Aspect Oriented Software
TLDR
The approach focuses on the evaluation of an AO system's modularity and points out potential enhancements to get a more stable one, and is able to detect logical couplings among aspect entities, as well as modularity defects that are not easily detectable using static source code analysis.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 21 REFERENCES
Change impact identification in object oriented software maintenance
TLDR
An automated solution to identify different kinds of code changes and their impact in an object-oriented class library is provided, and an OO software maintenance environment that implements the research result is described.
Slicing aspect-oriented software
  • Jianjun Zhao
  • Computer Science
    Proceedings 10th International Workshop on Program Comprehension
  • 2002
TLDR
This paper presents a dependence-based representation called aspect- oriented system dependence graph (ASDG), which extends previous dependence graphs, to represent aspect-oriented software and shows how to compute a static slice of an aspect-driven program based on the ASDG.
Using dependence analysis to support the software maintenance process
TLDR
A definition of interprocedural dependence analysis is given, and its implementation in a prototype tool that supports software maintenance is described.
Software Change Impact Analysis
TLDR
This book identifies key impact analysis definitions and themes and illustrates the important themes to give a solid understanding for tackling impact analysis problems and shows how results from both areas can more effectively support impact analysis in software engineering repositories.
Ripple effect analysis of software maintenance
TLDR
In this paper the ripple effect which results as a consequence of program modification will be analyzed and a technique is developed to analyze this ripple effect from both functional and performance perspectives.
Architecture-Level Dependence Analysis for Software Systems
TLDR
This paper describes the initial approach to architecture-level dependence analysis and illustrates that approach through a prototype tool, called Aladdin, to automatically perform the analysis, and describes the challenges in developing a different kind of analysis for use at the architectural level.
Aspect-oriented programming
TLDR
This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
Applying slicing technique to software architectures
  • Jianjun Zhao
  • Computer Science
    Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193)
  • 1998
TLDR
A new form of slicing is introduced, named architectural slicing, to aid architectural understanding and reuse, designed to operate on the architectural specification of a software system, rather than the source code of a program.
Aspect-Oriented Programming
TLDR
An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Program Slicing
...
1
2
3
...