Celadon: a change impact analysis tool for aspect-oriented programs

@inproceedings{Zhang2008CeladonAC,
  title={Celadon: a change impact analysis tool for aspect-oriented programs},
  author={Sai Zhang and Zhongxian Gu and Yu Lin and Jianjun Zhao},
  booktitle={ICSE Companion '08},
  year={2008}
}
To reduce the manual effort of assessing potential affected program parts during software evolution, we develop a tool, called Celadon, which automates the change impact analysis for AspectJ programs. Celadon is implemented in the context of the Eclipse environment and designed as a plugin. It analyzes the source code of two AspectJ software versions, and decomposes their differences into a set of atomic changes together with their dependence relationships. The analysis result is reported in… 

Tables from this paper

Towards the Use of Program Slicing in the Change Impact Analysis of Aspect Oriented Programs
TLDR
This paper proposes a new approach for change impact analysis in aspect oriented programs that uses program slicing, a program analysis technique that explore existing dependencies in software source code.
AutoFlow: An automatic debugging tool for AspectJ software
TLDR
AutoFlow, an automatic debugging tool for AspectJ software, which can automatically reduce a large portion of irrelevant changes in an early phase, and then locate faulty changes effectively.
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.
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.
Mining Change Patterns in AspectJ Software Evolution
TLDR
This approach first decomposes the software changes into a set of atomic change representations, then employs the apriori data mining algorithm to generate the most frequent itemsets, which reveal multiple properties of software changes, including their kind, frequency, and correlation with other changes.
Vidock: A Tool for Impact Analysis of Aspect Weaving on Test Cases
TLDR
Vidock performs a static analysis when aspects are compiled with a program to select the test cases impacted by the aspects, and leverages the pointcut descriptor to locate the set of methods impacted by aspects and then selects the test Cases that can reach an impacted method.
Effective identification of failure-inducing changes: a hybrid approach
TLDR
A hybrid approach, which combines both static and dynamic analysis techniques, to automatically identify the faulty changes and takes significantly (almost 4X) fewer tests than the original delta debugging algorithm to locate the faulty code.
A survey of code‐based change impact analysis techniques
TLDR
The study presents a comparative framework including seven properties, which characterize the CIA techniques, and identifies key applications of CIA techniques in software maintenance, and proposes new CIA techniques under the proposed framework.
A Model-Driven Development (MDD) Approach to Change Impact Analysis Research-in-Progress
This paper presents a change impact analysis approach created as part of a model-driven development (MDD) environment. Its purpose is to give project stakeholders the ability to better assess the
A Model-Driven Development (MDD) Approach to Change Impact Analysis
This paper presents a change impact analysis approach created as part of a model-driven development (MDD) environment. Its purpose is to give project stakeholders the ability to better assess the
...
1
2
3
...

References

SHOWING 1-9 OF 9 REFERENCES
Chianti: a tool for change impact analysis of java programs
TLDR
The design and implementation of Chianti, a change impact analysis tool for Java that is implemented in the context of the Eclipse environment, are reported on and it is suggested that this technique is a promising technique for assisting developers with program understanding and debugging.
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.
Locating Faults in AspectJ Programs
TLDR
The prototype Flota is implemented, a fault locating tool for AspectJ programs built on top Celadon that can help programmers effectively find a small set of failure-inducing changes and provide valuable debugging support for AspectingJ programs.
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.
Fast static analysis of C++ virtual function calls
TLDR
This work investigates the ability of three static analysis algorithms to improve C++ programs by resolving virtual function calls, thereby reducing compiled code size and reducing program complexity so as to improve both human and automated program understanding and analysis.
Identifying syntactic differences between two programs
  • Wuu Yang
  • Computer Science
    Softw. Pract. Exp.
  • 1991
TLDR
A comparison algorithm is developed that can point out the differences between two programs more accurately than previous text comparison tools and is based on a dynamic programming scheme.
The call graph construction for aspect-oriented programs
  • Master’s thesis, School of Software,
  • 2007
The call graph construction for aspect-oriented programs. Master's thesis, School of Software
  • The call graph construction for aspect-oriented programs. Master's thesis, School of Software
  • 2007
Aspect-Oriented Programming