studying late propagations in code clone evolution using software repository mining

15
I, Clone The paper formerly known as “Studying Late Propagations in Code Clone Evolution Using Software Repository Mining” by Hsiao Hui Mui, Andy Zaidman , Martin Pinzger Delft University of Technology IWSC 2014, Antwerp, Belgium

Upload: andy-zaidman

Post on 03-Jul-2015

424 views

Category:

Technology


0 download

DESCRIPTION

Studying Late Propagations in Code Clone Evolution Using Software Repository Mining Presented at the 8th International Workshop on Software Clones (IWSC 2014) held in Antwerp, Belgium Paper by Hsiao Hui Mui, Andy Zaidman & Martin Pinzger

TRANSCRIPT

Page 1: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

I, Clone

The paper formerly known as

“Studying Late Propagations in Code Clone Evolution Using Software Repository Mining”

by Hsiao Hui Mui, Andy Zaidman, Martin PinzgerDelft University of Technology

IWSC 2014, Antwerp, Belgium

Page 2: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

What you should know…

Hsiao Hui MuiFormer MSc student

Now working in industry

Main driver behind this research!

Page 3: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

I, Robot

Page 4: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Plot

A robot goes against his “programming”……thereby disobeying the “three laws”1

1. A robot may not injure a human being

2. A robot must obey orders given by a human

3. A robot must protect its own existence

1. By Isaac Asimov

Page 5: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

• D’oh!!!

• (wrong movie)

Page 6: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Plot

A robot goes against his “programming”……thereby disobeying the “three laws”1

1. A robot may not injure a programmer

2. A robot must obey orders given by a programmer

3. A robot must protect its own existence

1. By Andy Zaidman

Page 7: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

I, Late Propagation

Page 8: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Law 1: A clone may not injure a programmer

Do late propagations cause bugs?Answer: this paper

Page 9: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Law 2: A clone must obey orders given by a programmer

Do late propagations obey?Answer: code clone management???

Page 10: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Law 3: A clone must protect its own existence

Do late propagations survive, or do they become inconsistent?Answer: this paper (partially)

Page 11: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Study

System Revisions # Clone Sets

Short-term LatePropagations

Long-termLate Propagations

# Bugs

Subclipse 1946 632 1 6 2

JEdit 2481 696 30 5 8

FreeCol 4935 311 8 0 0

Seam 3005 584 0 0 0

Page 12: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Q1: Are late propagations frequently occurring?

System Revisions # Clone Sets

Short-term LatePropagations

Long-termLate Propagations

# Bugs

Subclipse 1946 632 1 6 2

JEdit 2481 696 30 5 8

FreeCol 4935 311 8 0 0

Seam 3005 584 0 0 0

Page 13: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Q2: Do late propagations induce bugs?

System Revisions # Clone Sets

Short-term LatePropagations

Long-termLate Propagations

# Bugs

Subclipse 1946 632 1 6 2

JEdit 2481 696 30 5 8

FreeCol 4935 311 8 0 0

Seam 3005 584 0 0 0

Page 14: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Q3: Package distance of clone pairs involved in late propagations?

Page 15: Studying Late Propagations in Code Clone Evolution Using Software Repository Mining

Questions?

I clone, you clone, we clone…