TY - THES A1 - Störzer, Maximilian T1 - Impact Analysis for AspectJ - A Critical Analysis and Tool-Based Approach to AOP T1 - Impact-Analyse für AspectJ - Eine kritische Analyse mit werkzeuggestütztem Ansatz N2 - 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 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. KW - Modularität KW - Aspektorientierte Programmierung KW - Programmanalyse KW - Software Engineering KW - Separation of Concerns KW - Change Impact Analyse KW - AspectJ Fallstudie KW - Change Impact Analysis KW - AspectJ Case Study Y1 - 2007 UR - https://opus4.kobv.de/opus4-uni-passau/frontdoor/index/index/docId/73 UR - https://nbn-resolving.org/urn:nbn:de:bvb:739-opus-897 ER -