ARV: Aspect Refactoring Verifier

Slides:



Advertisements
Similar presentations
Extending AJDT Charles Zhang University of Toronto.
Advertisements

Towards a Standard Interface for Runtime Inspection in AOP Environments OOPSLA Workshop on Tool for AOSD, Seattle, November 2002 Katharina Mehner and Awais.
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Aspect Oriented Programming - AspectJ Radhika Rajput.
ETX Workshop OOPSLA 2003 Prism pattern recognition for aspect mining Prism is Research in Software Modularization Charles Zhang and Hans-Arno Jacobsen.
Aspect-Oriented Programming In Eclipse ® Aspect-Oriented Programming in Eclipse with AspectJ Dr Helen Hawkins and Sian January.
University of British Columbia Software Practices Lab 2005 CASCON A Fluid AOP Editor Terry Hon Gregor Kiczales.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Barak Agiv Itamar Ben-Zaken Barak Nahum Vladislav Smolensky Academic Advisor: Yuval Elovici Professional Advisor: Mira Balaban.
Using UML and Alloy to Specify and Analyze Access Control Features Eunjee Song, Xi Hua SP05-CS681 Project Proposal.
Rigorous Fault Tolerance Using Aspects and Formal Methods Shmuel Katz Computer Science Department The Technion Haifa, Israel
(c) Copyright Palo Alto Research Center Incroporated. All rights reserved.1 AO Tools: State of the (AspectJ™) Art and Open Problems Mik Kersten.
Review David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Which topics we have not discussed?
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 2.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
1 Designing for 65nm and Beyond Where’s The Revolution ?!? Greg Spirakis Absolutely, positively not working for Intel (or anyone else) EDP 2005.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 1.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective.
Generative Middleware Specializations for Distributed, Real-time and Embedded Systems Institute for Software Integrated Systems Dept of EECS, Vanderbilt.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton February 28th, 2003 Advisor: David G. Hannay Client:
Using Aspects to Support the Software Process: XP over Eclipse Oren Mishali and Shmuel Katz Technion, Israel Institute of Technology.
A Meta-Level Specification and Profile for AspectJ in UML Joerg Evermann School of Information Management Victoria University of Wellington.
Product Update March Copyright © IET Ltd 2008 Agenda  Release 7.7  VerifIEr.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
TRANSPARENT EXTENSION OF SINGLE- USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration ICEIS.
AOP-1 Aspect Oriented Programming. AOP-2 Aspects of AOP and Related Tools Limitation of OO Separation of Concerns Aspect Oriented programming AspectJ.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
CCC: An Aspect-Oriented Intermediate Language on.Net Platform Yingfei Xiong and Feng Wan University of Electronic Science and Technology of China, China.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
AspectJ – AOP for Java Tom Janofsky. Instructor at Penn State Abington Consultant with Chariot Solutions JUG Member.
Topics for exam in AOSD Basic concepts: tangling, scattering, joinpoint, advice, cross-cutting, weaving AspectJ: syntax, pointcut notations, around, proceed,
©2012 LIESMARS Wuhan University Building Integrated Cyberinfrastructure for GIScience through Geospatial Service Web Jianya Gong, Tong Zhang, Huayi Wu.
MDD approach for the Design of Context-Aware Applications.
Aspect Mining Jin Huang Huazhong University of Science & Technology, China
Methods of Software Development Karl Lieberherr Spring 2007.
DATABASE DEVELOPMENT WITH VSTS DATABASE EDITION By Chris Dahlberg ©2009 Aspect Software, Inc. All rights reserved. 1.
Click to edit Master text styles JavaMOP Hamid Reza Niroomand A presentation to Dr. Babamir.
1 Deriving Refactorings for AspectJ Leonardo Cole Paulo Borba Informatics Center Federal University of Pernambuco Brazil.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
Introduction to Yan Cui Aspect Oriented Programming by
AspectScope: An Outline Viewer for AspectJ Programs Michihiro Horie, Shigeru Chiba Tokyo Institute of Technology, Japan.
AspectJ Development Tools Mik Kersten University of British Columbia October 28, 2003.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Andy Clement, George Harley IBM Hursley Labs.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Visual Basic modeling March, 2010.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
ECE 551: Digital System Design & Synthesis
Aspect-Oriented Programming with the Eclipse AspectJ plug-in
Towards Effective Adaptive User Interfaces Design
make servers happy with automated testing
Chapter 16 – Software Reuse
Introduction to Software Testing
Aspect Validation: Connecting Aspects and Formal Methods
MDE based FPGA physical Design Fast prototyping with Smalltalk
Presents: Rally To Java Conversion Suite
AspectAda Aspect-Oriented Programming for Ada95
Secure Coding Practices in Java: Challenges and Vulnerabilities1
Prism A Prism for research in software modularity through
Re- engineeniering.
Aspect Oriented Programming
From Use Cases to Implementation
Refactoring the Aspectizable Interfaces: An Empirical Assessment
Presentation transcript:

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 matching algorithm Results comparison Footprint operations 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

Over/under re-factoring menu 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