ARV Aspect Refactoring Verifier Charles Zhang and HansArno

  • Slides: 8
Download presentation
ARV: Aspect Refactoring Verifier Charles Zhang and Hans-Arno Jacobsen Middleware Systems Research Group University

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

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

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

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

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

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 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

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