80 likes | 226 Vues
ARV: Aspect Refactoring Verifier. Charles Zhang and Hans-Arno Jacobsen Middleware Systems Research Group University of Toronto. Transforming Legacy Systems Using AOP tools. Aspect discovery/mining. Prism. Aspect footprints. Aspect Refactoring. AJDT. Re-factored Aspects.
E N D
ARV: Aspect Refactoring Verifier Charles Zhang and Hans-Arno Jacobsen Middleware Systems Research Group University of Toronto CASCON 2003
Transforming Legacy Systems Using AOP tools Aspect discovery/mining Prism Aspect footprints Aspect Refactoring AJDT Re-factored Aspects Code-level Verification ARV Over or under refactoring Functional Verification Verified Aspects Unit/Regression Testing Tool CASCON 2003
Verification of Refactoring • Aspect Oriented Refactoring causes systematic changes involving thousands of classes and lines of code • Due to this crosscutting nature, manual verification is difficult, tedious and error prone • Tool support for this process is vital. CASCON 2003
What does ARV do? • Verification at source code level • Provides visual cues towards ensuring the functional equivalency of the refactored system • ARV checks the equivalence of: • Call sites between declared and effective pointcuts • Refactored logic between aspects and the original implementation CASCON 2003
Architecture of ARV • Integrated with AJDT and the Eclipse platform • Built as an extension of the Prism framework. • Pointcuts Fingerprints • Locating call sites and advices Prism matchingalgorithm • Results comparison Footprintoperations CASCON 2003
ARV, A Prism Implementation Declare Warning Effective joinpoints Prism Fingerprint Prism Fingerprint Prism Task Prism Task Prism Footprints ARV Extension Prism Algorithms Prism Engine CASCON 2003
Verification Configuration Choose the verification target Pick aspect joinpoints Pick declared joinpoints CASCON 2003
Verification Report • A cross-cutting difference view shows callsites picked out by declared and effective joinpoints. • Over and under refactoriing can be verified by accessing the menu of the view Over/under re-factoring menu CASCON 2003