Impact Analysis for AspectJ - A Critical Analysis and Tool-Based Approach to AOP
Impact-Analyse für AspectJ - Eine kritische Analyse mit werkzeuggestütztem Ansatz
- Aspect-Oriented Programming (AOP) has been promoted as a solution for modularization problems known as the tyranny of the dominant decomposition in literature. However, when analyzing AOP languages it can be doubted that uncontrolled AOP is indeed a silver bullet. The contributions of the work presented in this thesis are twofold. First, we critically analyze AOP language constructs and their effects on program semantics to sensitize programmers and researchers to resulting problems. We further demonstrate that AOP—as available in AspectJ and similar languages—can easily result in less understandable, less evolvable, and thus error prone code—quite opposite to its claims. Second, we examine how tools relying on both static and dynamic program analysis can help to detect problematical usage of aspect-oriented constructs. We propose to use change impact analysis techniques to both automatically determine the impact of aspects and to deal with AOP system evolution. We further introduce an analysis technique to detect potential semanticalAspect-Oriented Programming (AOP) has been promoted as a solution for modularization problems known as the tyranny of the dominant decomposition in literature. However, when analyzing AOP languages it can be doubted that uncontrolled AOP is indeed a silver bullet. The contributions of the work presented in this thesis are twofold. First, we critically analyze AOP language constructs and their effects on program semantics to sensitize programmers and researchers to resulting problems. We further demonstrate that AOP—as available in AspectJ and similar languages—can easily result in less understandable, less evolvable, and thus error prone code—quite opposite to its claims. Second, we examine how tools relying on both static and dynamic program analysis can help to detect problematical usage of aspect-oriented constructs. We propose to use change impact analysis techniques to both automatically determine the impact of aspects and to deal with AOP system evolution. We further introduce an analysis technique to detect potential semantical issues related to undefined advice precedence. The thesis concludes with an overview of available open source AspectJ systems and an assessment of aspect-oriented programming considering both fundamentals of software engineering and the contents of this thesis.…
Author: | Maximilian Störzer |
---|---|
URN: | urn:nbn:de:bvb:739-opus-897 |
Advisor: | Gregor Snelting |
Document Type: | Doctoral Thesis |
Language: | English |
Year of Completion: | 2006 |
Date of Publication (online): | 2007/06/25 |
Publishing Institution: | Universität Passau |
Granting Institution: | Universität Passau, Fakultät für Informatik und Mathematik |
Date of final exam: | 2007/05/11 |
Release Date: | 2007/06/25 |
Tag: | AspectJ Fallstudie; Change Impact Analyse AspectJ Case Study; Change Impact Analysis |
GND Keyword: | Modularität; Aspektorientierte Programmierung; Programmanalyse; Software Engineering; Separation of Concerns |
Institutes: | Fakultät für Informatik und Mathematik / Mitarbeiter Lehrstuhl/Einrichtung der Fakultät für Informatik und Mathematik |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
open_access (DINI-Set): | open_access |
Licence (German): | Standardbedingung laut Einverständniserklärung |