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 byLillian Carpenter
Modified over 3 years ago
IBM Haifa Research Lab © 2007 IBM Corporation Program Sliding A Novel Approach for the Automation of Slicing-Based Refactoring June 2007 Ran Ettinger In Haifa Universitys MIS Department Seminar
IBM Haifa Research Lab © 2007 IBM Corporation 2 Agenda When Refactoring Met Slicing… Motivating example and some definitions Original Research Question (2001) –How can program slicing and related analyses assist in building automatic tools for refactoring? Initial Results (2003) Untangling: a slice extraction refactoring [AOSD04] The need for more… Final Results (2006) Sliding on top of a formal theory for slicing-based refactoring... Some Further Challenges
IBM Haifa Research Lab © 2007 IBM Corporation 3 int prod=1; for (int i=0; i
"name": "IBM Haifa Research Lab © 2007 IBM Corporation 3 int prod=1; for (int i=0; i
IBM Haifa Research Lab © 2007 IBM Corporation 4 int sum=computeSum(a); int prod=1; for (int i=0; i
"name": "IBM Haifa Research Lab © 2007 IBM Corporation 4 int sum=computeSum(a); int prod=1; for (int i=0; i
IBM Haifa Research Lab © 2007 IBM Corporation 5 int prod=1; for (int i=0; i
"name": "IBM Haifa Research Lab © 2007 IBM Corporation 5 int prod=1; for (int i=0; i
IBM Haifa Research Lab © 2007 IBM Corporation 6 When Refactoring Met Slicing… Refactoring is a discipline of change –Of the internal structure of a software system –Through small and well-defined source-code transformations –That preserve the (observable) behavior of the original system (program) Slicing is the study of meaningful subprograms –Given a program and a variable (at a point) of interest, a slice of the program on that variable is a subprogram that preserves the original behavior, with respect to that variable Sliding is a mini refactoring of slice extraction –A kind of code-motion transformation, like in compilers –Trading code reusability and readability with runtime efficiency –Given a program and a variable of interest, sliding extracts the variables slice from its complement; but whats in the complement? The union of all remaining slices? or something smaller: reusing the extracted variables final value
IBM Haifa Research Lab © 2007 IBM Corporation 7 Original Research Question (2001) Initial observation: –Programmers use slices when refactoring Paraphrasing Weiser [CACM82] Context –Intercomps Cobol-to-Java –OOPSLA00 –Fowlers refactoring book [Fow] The video-store example: from procedural design to objects The research question: –How can program slicing and related analyses assist in building automatic tools for refactoring?
IBM Haifa Research Lab © 2007 IBM Corporation 8 Initial Results (2003) A definition of an Extract Slice refactoring –Generalizing Extract Method and Replace Temp with Query Nate: an Eclipse plugin –Supporting slice extraction on a small subset of Java –Supported by an Eclipse Innovation Award from IBM –With Mathieu Verbaere: the slicer and MSc thesis An investigation of untangling refactorings to introduce aspects Untangling: a slice extraction refactoring [AOSD04, with Mathieu]
IBM Haifa Research Lab © 2007 IBM Corporation 9 Initial Results (2003) - cont.: The Need for More State-of-the-art slice-extraction solutions –Tucking by Lakhotia and Deprez [IST98] –Procedure extraction by Komondoor and Horwitz [POPL00,IWPC03] –Block-based slicing by Maruyama [SSR01] Identified limitations (Nate and the related work) –Strong preconditions E.g. no duplication of assignments Leading to low applicability –Informal (unconvincing) correctness proof Observation/Realization: –Weakening of preconditions (i.e. improving applicability) will require a careful (preferably formal) investigation
IBM Haifa Research Lab © 2007 IBM Corporation 10 Final Results (2006) A formal theory of slicing-based refactoring –Based on predicate calculus and program semantics [Dijkstra and Scholten] and the refinement calculus [Back,Morgan] –Supporting a simple imperative programming language A designated slice-refinement proof method A novel program decomposition into small entities called slides A highly applicable solution to the slice-extraction refactoring problem, called sliding A concept of smaller slices called co-slicing A provably correct slicing algorithm (why is it important?)
IBM Haifa Research Lab © 2007 IBM Corporation 11 Some Further Challenges Implementing the theoretical framework and algorithms Collecting empirical results Extending to real languages Apply sliding to more refactorings (e.g. Separate Query from Modifier [Fow], arbitrary method extraction) Apply the sliding-related refactorings in bigger reengineering challenges (e.g. Convert Procedural Design to Objects [Fow], componentization, conversion to SOA) Sliding beyond refactoring (e.g. in optimizing compilers, code obfuscation)
IBM Haifa Research Lab © 2007 IBM Corporation 12 Thanks! Acknowledgements –My DPhil [Ett] supervisor Oege de Moor And Mike Spivey, supervising during Oeges sabbatical (2003) –Past and present members of the Programming Tools Group at Oxford, in particular Iván Sanabria, Yorck Hünke, Stephen Drape, Mathieu Verbaere, Damien Sereni –My thesis examiners Mark Harman and Jeremy Gibbons
IBM Haifa Research Lab © 2007 IBM Corporation 13 References [CACM82] Programmers use slices when debugging, M. Weiser, 1982 [Back] A calculus of refinements for program derivations, 1988 [Dijkstra and Scholten] Predicate calculus and program semantics, 1990 [Morgan] Programming from specifications (2nd ed.), 1994 [IST98] Restructuring programs by tucking statements into functions, A. Lakhotia and J.-C. Deprez, 1998 [FOW] Refactoring: Improving the Design of Existing Code, M. Fowler, 2000 [POPL00] Semantics-preserving procedure extraction, R. Komondoor and S. Horwitz, 2000 [SSR01] Automated method-extraction refactoring by using block-based slicing, K. Maruyama, 2001 [IWPC03] Effective automatic procedure extraction, R. Komondoor and S. Horwitz, 2003 [AOSD04] Untangling: a slice extraction refactoring, R. Ettinger and M. Verbaere, 2004 [Ett] Refactoring via Program Slicing and Sliding, DPhil thesis, 2006 –Submitted version http://progtools.comlab.ox.ac.uk/members/rani/sliding thesis esub101006.pdf
IBM Haifa Research Lab © 2007 IBM Corporation 14 Backup
IBM Haifa Research Lab © 2007 IBM Corporation 15 Example: Fowlers video-store
IBM Haifa Research Lab © 2007 IBM Corporation 16
IBM Haifa Research Lab © 2007 IBM Corporation 17
IBM Haifa Research Lab © 2007 IBM Corporation 18
IBM Haifa Research Lab © 2007 IBM Corporation 19
IBM Haifa Research Lab © 2007 IBM Corporation Refactoring via Program Slicing and Sliding June 2007 Ran Ettinger Software Asset Management Group In HRL.
Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.
Departments in Business Business Name 1 Business Name 2.
Industrial Project (236504) Advanced programming tools for refactoring Java code in Eclipse Student: Alexander Libov Supervisor: Dr. Ran Ettinger, IBM.
IBM Haifa Research Lab © 2008 IBM Corporation Co-Slicing for Program Comprehension and Reuse March 2008 Ran Ettinger Software Asset Management Group In.
Name ____________________ Date ___________ Period ____.
How did we get here? Student Learning Standards School Accountability Teaching Standards Educator Evaluation Support for Struggling Schools.
IBM Haifa Research Lab © 2008 IBM Corporation Automating Big Refactorings for Componentization and the Move to SOA IBM Programming Languages and Development.
For(int i = 1; i <= 3; i++) System.out.println(i); iSaída na tela.
Source: Financial Times of London Global Banks 1999 – 2009 “Changing of the Guard”
Program Slicing for Refactoring Advanced SW Tools Seminar Jan 2005Yossi Peery.
Ontologies: Dynamic Networks of Formally Represented Meaning Dieter Fensel: Ontologies: Dynamic Networks of Formally Represented Meaning, 2001 SW Portal.
Advancing Library Information Services in China LiLi Li Assistant Professor / E-Information Services Librarian Georgia Southern University Library February.
Business Unit or Product Name © 2005 IBM Corporation IBM Haifa Labs RAP (Resource Agenda Presenter) Nov, 2013.
Signing Plan Design - At Grade Intersections Course Overview.
Tool Support for proof Engineering Anne Mulhern Computer Sciences Department University of Wisconsin-Madison Madison, WI USA
Business Process Performance Prediction on a Tracked Simulation Model Andrei Solomon, Marin Litoiu– York University.
Introduction 6 th of April Method 13 th of April Theory & Midterm Deadline 20 th of April Empirics Running Analysis Running Conclusions & Hand-in 24 th.
Managing Data for Cardiac Outcomes Reporting
哈工大信息检索研究室 HITIR ’ s Update Summary at TAC2008 Extractive Content Selection Using Evolutionary Manifold-ranking and Spectral Clustering Reporter: Ph.d.
Management Control Systems
IBM Haifa Labs June 23, 2015 © IBM Corporation 2004 Economics of information goods in practice – the Electronic Design Automation market Yossi Lichtenstein.
Department of Information Systems Vienna University of Economics and Business Administration Towards a Conceptual Framework for Digital Contract Composition.
The GLP is funded by The Department for International Development GLOBAL LEARNING T Task – -Please go through the slides and follow the instructions -Please.
Slide 1 Student Presentation Software Engineering Seminar Your Name Supervisors Name SS 2015 Insert your topic name here.
CAVIAR – Continuum Absorption by Visible and Infrared Radiation and its Atmospheric Relevance How on schedule are we? Keith Shine Department of Meteorology,
Today’s Agenda 1.Research Paper – Due Wednesday –Oral presentations March 11 & 18 (Last Class &Final) 2.Attendance & lab pair groupings 3.Robots 1.Hands-on.
May 3, 2006WV Department of Education Annual Measurable Objectives for Improving the Achievement of LEP Students Title III AMAOs.
CAVIAR – Continuum Absorption by Visible and Infrared Radiation and its Atmospheric Relevance Status Keith Shine Department of Meteorology, University.
WITHIN REACH – BEYOND IMAGINATION Selkirk College Management Information Systems.
ETHNIC DIVERSITY SURVEY. Survey Objectives to provide information on ethnic diversity in Canada; to provide information to better understand how Canadians.
This year's experience in System integration master course Ivan Pribela, Zoran Budimac.
ACL: Introduction & Tutorial
HASCAS: Dignity through Action Introduction to the Dignity through Action Workshop.
University of Palestine College of Business Administration Presented by : Hanaa Omar Alqaroot. Presented To : Elmassriy. Mr.Eyad. 26, November 2009.
ECMA Open XML File Formats and the Evolution of Open File Formats Mark Lange Senior Policy Counsel Microsoft EMEA.
Aamir Ashiqali, Reilly Elementary School Chris Etapa, Gunsaulus Scholastic Academy Suzanne Olds, Biomedical Engineering Department, Northwestern University.
(On the infeasibility of) Model/Code Co- Refactoring Friedrich Steimann Lehrgebiet Programmiersysteme Fernuniversität in Hagen, Germany.
1 Fine Slicing: Theory and Applications for Computation Extraction Aharon Abadi,Ran Ettinger,Yishai A. Feldman IBM Research – Haifa.
Intelligent Transportation Systems GDOT ITS Concept of Operations Presentation to ITS GA June 28, 2007.
1 Strengthening statistical capacity-building in support of progress towards the Internationally Agreed Development Goals in the SADC region Fabia Yazaki.
Tammy Muhs-University of Central Florida
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
CAUBO – June Procurement Seminar Canada Foundation for Innovation Christine Charbonneau Director, Finance.
EU Market Situation for Eggs and Poultry Management Committee 13 December 2012.
Polish DP First Shift – Status: October Piotr Suliga, Piotr Bastek 4th TCA Meeting in Katowice, Poland, October 2006 Project: First.
Lessons from Industrial Exposure By Hafizullah, PhD Assistant Professor Institute of Management Sciences Kohat University of Science and Technology (KUST),
Office of the Auditor General of Canada Progress Report for the Task Force on IT Governance 17th Meeting of the INTOSAI Working Group On IT Audit Richard.
Focused Monitoring Support and Technical Assistance Session 2 Discussion Slides for Study Districts FM
© 2017 SlidePlayer.com Inc. All rights reserved.