Return to search

Aspect impact analysis

One of the major challenges in aspect-oriented programming is that aspects may have unintended impacts on a base program. Thus, it is important to develop techniques and tools that can both summarize the impacts and provide information about the causes of the impacts. This thesis presents impact analyses for AspectJ. Our approach detects different ways advice and inter-type declarations interact and interfere with the base program and focuses on four kinds of impacts, \emph{state impacts} which cause changes of state in the base program, \emph{computation impacts} which cause changes in functionality by adding, removing or replacing computations of the base program, \emph{shadowing impacts} which cause changes of field reference in the base program, and \emph{lookup impacts} which cause changes of method lookup in the base program. We provide a classification scheme for these kinds of impacts and then develop a set of static analyses to estimate these impacts. A key feature of our approach is the use of points-to analysis to provide more accurate estimates. Further, our analysis results allow us to trace back to find the causes of the impacts. We have implemented our techniques in the AspectBench compiler. By implementing them in an AspectJ compiler, all kinds of pointcuts, advice and inter-type declarations can be analyzed. We also have integrated these analyses into an AspectJ IDE and provided a two-way navigation between impacts and program source code. In addition, we have carried out experiments on example programs and benchmarks to investigate the results of our analyses. / L'un des principaux d\'efis de la programmation orient\'ee aspect est queles aspects peuvent avoir des effets non voulus sur le programme debase. Il est donc important de d\'evelopper des techniques et des outilsqui peuvent mesurer les impacts et fournir des informations sur ce genrede ph\'enom\`ene. Cette th\`ese pr\'esente des analyses d'impact pour AspectJ.Notre approche examines les diff\'erentes voies par lesquelles les aspectspeuvent interagir avec le programme de base et se concentre sur quatretypes d'impacts, \emph{les impacts d'\'etat} qui provoquent deschangements d'\'etat dans le programme de base, \emph{les impacts decalcul} qui provoquent des changements au niveau des fonctions parl'ajout, la suppression ou le remplacement de calculs le programme debase, \emph{les impacts d'ombres} qui provoquent des changements dedomaine r\'ef\'erences dans le programme de base et \emph{les impacts der\'ef\'erence} qui provoquent des changements au niveau des m\'ethodesr\'ef\'erenc\'ees.Nous offrons un syst\'eme de classification pour ces types d'impacts etd\'eveloppons une s\'erie d'analyses statiques pour \'evaluer ces impacts. Un\'el\'ement cl\'e de notre approche est l'utilisation d'analyses de pointeursafin de fournir des estimations plus pr\'ecises. En outre, nos r\'esultatsd'analyse nous permettent de remonter plus loin et de trouver les causesde ces impacts.Nous avons mis en place nos techniques dans le compilateur AspectBenchpour AspectJ. En les appliquant dans un compilateur AspectJ, plusieurssortes de d\'eclarations peuvent \^etre analys\'ees. Nous avons \'egalementint\'egr\'e ces des analyses dans un environnement de d\'eveloppement AspectJet avons fourni une navigation bidirectionnelle entre les impacts et lecode source. En outre, nous avons proc\'ed\'e \`a des exp\'eriences sur desprogrammes de test pour d\'emontrer les r\'esultats d'analyses typiques.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.40813
Date January 2009
CreatorsZhang, Dehua
ContributorsLaurie Hendren (Internal/Supervisor)
PublisherMcGill University
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
LanguageEnglish
Detected LanguageEnglish
TypeElectronic Thesis or Dissertation
Formatapplication/pdf
CoverageMaster of Science (School of Computer Science)
RightsAll items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.
RelationElectronically-submitted theses.

Page generated in 0.0706 seconds