Comprehension and change impact analysis of aspect-oriented programs through declarative reasoning

In this dissertation, we discuss an approach to support declarative reasoning over aspect-oriented programs, where the AspectJ programming language is deployed as a notable (and representative) technology. The approach is based on (i) the transformation of source code into a set of facts, and (ii) t...

Full description

Bibliographic Details
Main Author: Eshkevari, Laleh Mousavi
Format: Others
Published: 2008
Online Access:http://spectrum.library.concordia.ca/975750/1/MR40950.pdf
Eshkevari, Laleh Mousavi <http://spectrum.library.concordia.ca/view/creators/Eshkevari=3ALaleh_Mousavi=3A=3A.html> (2008) Comprehension and change impact analysis of aspect-oriented programs through declarative reasoning. Masters thesis, Concordia University.
Description
Summary:In this dissertation, we discuss an approach to support declarative reasoning over aspect-oriented programs, where the AspectJ programming language is deployed as a notable (and representative) technology. The approach is based on (i) the transformation of source code into a set of facts, and (ii) the definition and implementation of relationships and dependencies between different elements of the system into rules, stored in a Prolog database. Declarative analysis allows us to extract complex information through its rich and expressive mechanisms. Our approach has two contributions. First, it can improve the comprehension of AspectJ programs, and it can be deployed for any AspectJ-like language, like e.g. AspectC#, AspectC++. The second contribution is the provision of change impact analysis for AspectJ programs. Our method is automated and tool support is available. Expected beneficiaries of our approach include system maintainers performing tasks during the "change planning" stage of evolution.