We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byXavier Baird
Modified over 2 years ago
Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006
Are the two programs equivalent? ?=
Refactoring enables iterative and incremental software development
The gap: Refactoring tools are important but weak
Example: Fowlers video-store
Programmers use slices when refactoring
Challenge: Automatic slice-extraction Approach: Program Sliding
Sliding 1: statement-duplication
Rule of statement-duplication
Sliding 2: slicing on both sides
Sliding 2: a refinement rule
Example of over-duplication
Solution (sliding 3): final-use substitution
Sliding 3: statement-duplication with final-use substitution
Sliding 4: Slicing after final-use substitution
Sliding 4: a refinement rule
Sliding 5: compensation-free sliding
Sliding 5: a refinement rule
Potential implications of slides and sliding: Refactoring and beyond
IBM Haifa Research Lab © 2007 IBM Corporation Program Sliding A Novel Approach for the Automation of Slicing-Based Refactoring June 2007 Ran Ettinger In.
IBM Haifa Research Lab © 2007 IBM Corporation Refactoring via Program Slicing and Sliding June 2007 Ran Ettinger Software Asset Management Group In HRL.
IBM Haifa Research Lab © 2008 IBM Corporation Co-Slicing for Program Comprehension and Reuse March 2008 Ran Ettinger Software Asset Management Group In.
Practice Problems: The Composition of Functions Work problems on your own first. Then check with answers in the following slides. If the answers don’t.
Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.
Computation u When processing data we subject it to a variety of transformations or computations. u The type of data determines the set of valid operations.
Section 6.2 Solving Linear Equations Math in Our World.
Fermat Re-Engineering Workbench Presentation. Agenda Assembler business issues Fermat Solutions –Workbench –Migration Service –Documentation engine About.
How to use Windows Movie Maker ! This is a tutorial slideshow to help you to follow visual step by step on how to edit your video clip using the Windows.
© University of Glamorgan1 Extreme Programming and its effect on project management Second Computing Project Management Workshop 13 September 02, University.
Duplicate code detection using Clone Digger Peter Bulychev Lomonosov Moscow State University CS department.
Teacher Training Actions European Symposium Teacher training and the innovative use of ICT in HE. Paris, November 23rd Aims and results -How weve.
Comp1004: Object Oriented Design II Designing Applications Based on BlueJ Chapter 13.
FILE MANAGEMENT. Rule 1 Set up folders PROGRAMME Word? Excel? Powerpoint? Access? Music Pix Scans Videos Webs.
1: Straight Lines and Gradients “Teach A Level Maths” Vol. 1: AS Core Modules.
You Oxford University Computing Services Us. OUCS is at 13 Banbury Road.
Software Engineering Lab. 1 1 A Survey of Self-Management in Dynamic Software Architecture Specifications Jeremy S. Bradbury, James R. Cordy, Juergen Dingel,
8-2: Solving Systems of Equations using Substitution.
An Introduction to eXtreme Programming Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
UNIT 2 LESSON 5 QUOTIENT RULE 1. 2 If you thought the product rule was bad...
This work was partially funded by the RNTL initiative (LUTIN project) 1 Refactoring to Object-Oriented Design Patterns Mikal Ziane (LIP6 and Université.
Section 3.4 Objectives: Find function values Use the vertical line test Define increasing, decreasing and constant functions Interpret Domain and Range.
M The University Of Michigan Andrew M. Morgan Andrew M Morgan1 EECS Lecture 05 Savitch Ch Streams Stream States Input/Output.
PEP for EC Student. EC PEP Can be used for an EC student who is below grade level and/or made a Level I or II on the EOG. Serves as a bridge between the.
3.3: Graphing and Solving Systems of Linear Inequalities Intro: Systems of inequalities are similar to systems of equations. A solution is still an ordered.
Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief Guest starring: Chaminda Sooriyapperuma.
What these slides show The following two slides show CMS data for Pennsylvania imported into Google Earth –Slide 2 shows the data points plotted on the.
EXAMPLE 1 Write an equation of a line from a graph SOLUTION m 4 – (– 2) 0 – 3 = 6 – 3 = = – 2 STEP 2 Find the y -intercept. The line intersects the y -axis.
EuropeAid Main conclusions and implications for EU Delegations Training Seminar – 7th of July Maxime Montagner DEVCO Unit D2 « Civil society, local authorities.
PRESERV PReservation Eprint SERVices A two-year JISC 4/04 project: iii Institutional repository infrastructure development Steve Hitchcock and Jessie Hey.
© 2016 SlidePlayer.com Inc. All rights reserved.