refactoring via program slicing and sliding ran ettinger programming tools group university of...

Post on 27-Mar-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Refactoring via Program Slicing and Sliding

Ran EttingerProgramming Tools Group

University of Oxford

In Panaya’s Reading Group2 November, 2006

Are the two programs equivalent?

?=

Refactoring enables iterative and incremental

software development

The gap:Refactoring tools are important but weak

Example: Fowler’s video-store

Programmers use sliceswhen 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

Thanks!

top related