ARV Aspect Refactoring Verifier Charles Zhang and HansArno
- Slides: 8
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 Refactoring Aspect footprints AJDT Code-level Verification ARV Re-factored Aspects Over or under refactoring Functional Verification Unit/Regression Testing Tool CASCON 2003 Verified Aspects
Verification of Refactoring l l l 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? l l l Verification at source code level Provides visual cues towards ensuring the functional equivalency of the refactored system ARV checks the equivalence of: l l Call sites between declared and effective pointcuts Refactored logic between aspects and the original implementation CASCON 2003
Architecture of ARV l l Integrated with AJDT and the Eclipse platform Built as an extension of the Prism framework. l Pointcuts Locating call sites and advices l Results comparison l CASCON 2003 Fingerprints Prism matching algorithm Footprint operations
ARV, A Prism Implementation Declare Warning Effective joinpoints Prism Fingerprint Prism Task ARV Extension Prism Algorithms Prism Engine CASCON 2003 Prism Footprints
Verification Configuration Choose the verification target Pick aspect joinpoints Pick declared joinpoints CASCON 2003
Verification Report l A cross-cutting difference view shows callsites picked out by declared and effective joinpoints. Over/under refactoring menu l Over and under refactoriing can be verified by accessing the menu of the view CASCON 2003