+ All Categories
Home > Documents > Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of...

Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of...

Date post: 27-Mar-2015
Category:
Upload: xavier-baird
View: 215 times
Download: 1 times
Share this document with a friend
Popular Tags:
24
Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panaya’s Reading Group 2 November, 2006
Transcript
Page 1: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Refactoring via Program Slicing and Sliding

Ran EttingerProgramming Tools Group

University of Oxford

In Panaya’s Reading Group2 November, 2006

Page 2: 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?

?=

Page 3: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Refactoring enables iterative and incremental

software development

Page 4: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

The gap:Refactoring tools are important but weak

Page 5: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Example: Fowler’s video-store

Page 6: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.
Page 7: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.
Page 8: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.
Page 9: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.
Page 10: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Programmers use sliceswhen refactoring

Page 11: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Challenge:Automatic slice-extraction

Approach: Program Sliding

Page 12: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 1: statement-duplication

Page 13: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Rule of statement-duplication

Page 14: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 2: slicing on both sides

Page 15: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 2: a refinement rule

Page 16: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Example of over-duplication

Page 17: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Solution (sliding 3): final-use substitution

Page 18: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 3: statement-duplication with final-use substitution

Page 19: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 4: Slicing after final-use substitution

Page 20: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 4: a refinement rule

Page 21: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 5: compensation-free sliding

Page 22: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Sliding 5: a refinement rule

Page 23: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Potential implications of slides and sliding:

Refactoring and beyond

Page 24: Refactoring via Program Slicing and Sliding Ran Ettinger Programming Tools Group University of Oxford In Panayas Reading Group 2 November, 2006.

Thanks!


Recommended