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 3 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.
A Solution Offering for Educational Publishers Introducing.
Copyright 2011, 2007, 2003, 1999 Pearson Education, Inc. An inequality is a sentence containing 1.4 Sets, Inequalities, and Interval Notation.
Goal: Solve linear equations.. Definitions: Equation: statement in which two expressions are equal. Linear Equation (in one variable): equation that.
Industrial Project (236504) Advanced programming tools for refactoring Java code in Eclipse Student: Alexander Libov Supervisor: Dr. Ran Ettinger, IBM.
Rtizen ‘s Introduction to EDA Solutions It’s a software tool to make error free engineering drawings (both 2d & 3d) in a cost effective way.
1.3 Solving Linear Equations. An equation Is a statement in which two expressions are equal. A linear equation in one variable is an equation that can.
Higher Computing Software Development. Software Development Process There are 7 main stages involved in developing a new software program: Analysis Design.
Table of Contents First, isolate the absolute value expression. Linear Absolute Value Equation: Solving Algebraically Example 1: Solve Next, examine the.
10-1 人生与责任 淮安工业园区实验学校 连芳芳 “ 自我介绍 ” “ 自我介绍 ” 儿童时期的我.
EXAMPLE 6 Solve a rational equation given a function From 1995 through 2003, the annual sales S (in billions of dollars) of entertainment software can.
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.
Given Connections Solution
Incremental Design Why incremental design? Goal of incremental design Tools for incremental design UML diagrams Design principles Design patterns.
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
IBM Haifa Research Lab © 2008 IBM Corporation Automating Big Refactorings for Componentization and the Move to SOA IBM Programming Languages and Development.
§ 2.2 The Addition Property of Equality. Angel, Elementary Algebra, 7ed 2 Linear Equations A linear equation in one variable is an equation that can be.
An Automated Method for Analysis of Flow Characteristics of Circulating Particles from In-Vivo Video Microscopy IEEE – Transactions on Medical Imaging,
To write another equivalent equation, multiply each side by x – 12y = 8 To write one equivalent equation, multiply each side by 2. SOLUTION Write.
HAWKES LEARNING SYSTEMS math courseware specialists Copyright © 2010 Hawkes Learning Systems. All rights reserved. Hawkes Learning Systems: College Algebra.
ALGEBRA 1 LESSON 3-2 (For help, go to Lessons 1-4, 1-5, and 2-1.) 5656 Solving Inequalities Using Addition and Subtraction 3-2 Complete each statement.
Empowering Individuals Building the Information Society Enabling Growth and Employability Certification and Changing Technology Frank Mockler Programme.
Pennsylvania BANNER Users Group 2006 Integrate Your Decision Support with Cognos 8.
PH-EDU Education lab in Bat Space Policy Board Meeting 17 November 2011.
I can solve equations with variables on both sides and identify equations that are identities or have no solution.
SOCIAL INCLUSION ENABLING LABOUR MARKET TRANSITION – FOCUSING ON EFFECTIVE SOCIAL PROGRAMS.
CaseWare International Inc. XBRL implementation November 5, 2009 Copyright © CaseWare International Inc. Presented by Karen deSouza CaseWare ® International.
Solving Equations with Variables on Both Sides 11-3 Learn to solve equations with variables on both sides of the equal sign.
Distributed Software Development QR Marks The Spot Project Plan Presentation Nicolas Jacquemoud.
“An Approach to Identify Duplicated Web Pages” G. Lucca, M. Penta, A. Fasolino Compsac’02 pp Today presented by Kenny Kwok.
R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support.
IBM Haifa Research Lab © 2008 IBM Corporation Co-Slicing for Program Comprehension and Reuse March 2008 Ran Ettinger Software Asset Management Group In.
© Boardworks 2011 The Gilded Age The Development of the Industrial United States (1870–1900) To enable the activity, Flash Player needs to be installed.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
Priority Research Direction (use one slide for each) Key challenges What will you do to address the challenges?Brief overview of the barriers and gaps.
The Assignment operator tMyn1 The Assignment Operator The result of a calculation can be stored in a variable using the assignment operator =. Because.
Refactoring Cristescu Marilena. Definitions Loose Usage: Reorganize a program(or something) As a noun: a change made to the internal structure of some.
DETROIT POST PROGRAM TECH SUPPORT SOLUTIONS FOR NEW COMPUTER OWNERS By: Monique Tate & Arnold Redd – Focus: HOPE, Detroit, MI.
1 Australian Newspapers Digitisation Program Development of the Newspapers Content Management System Rose Holley – ANDP Manager ANPlan/ANDP Workshop, 28.
Chapter 1 - Fundamentals Equations. Definitions Equation An equation is a statement that two mathematical statements are equal. Solutions The values.
Lesson 3-2 Solving Equations by Using Addition and Subtraction.
REFACTORING Improving the Design of Existing Code Atakan Şimşek e
Modern Software Development Using C#.NET Chapter 6: Refactoring.
TH EDITION LIAL HORNSBY SCHNEIDER COLLEGE ALGEBRA.
Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.
Copyright 2013, 2009, 2005, 2002 Pearson, Education, Inc.
© 2017 SlidePlayer.com Inc. All rights reserved.