compatibility prediction of eclipse third-party plug-ins in new eclipse releases

23
Compatibility Prediction of Eclipse Third-party Plug- ins in new Eclipse Releases John Businge, Alexander Serebrenik, Mark van den Brand

Upload: alexander-serebrenik

Post on 19-May-2015

170 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Compatibility Prediction of Eclipse Third-party Plug-ins in

new Eclipse Releases

John Businge, Alexander Serebrenik, Mark van den Brand

Page 2: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

The Eclipse Framework

PAGE 2

P1 P4P3P2

Eclipse Framework

Eclipse Third-party Plug-ins (ETPs)

Page 3: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

The Eclipse Framework …

PAGE 3

P1 P4P3P2

Eclipse Framework

Eclipse Third-party Plug-ins (ETPs)

Eclipse APIs(“good”)• no “internal”• stable, • supported

Eclipse non-APIs (“bad”)• “internal”• unstable,• discouraged,• unsupported

Page 4: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

The Eclipse Framework …

PAGE 4

P1 P4P3P2

Eclipse Framework

Eclipse Third-party Plug-ins (ETPs)

Eclipse APIs(“good”)• no “internal”• stable, • supported

Eclipse non-APIs (“bad”)• “internal”• unstable,• discouraged,• unsupported

P3 – ETP-APIs P1, P2 and P4 – ETP-non-APIs

Page 5: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

Motivation

• Previous study (Survival of ETPs – ICSM 2012), we tested compatibility of 345 ETP-APIs and 288 ETP-non-APIs with different Eclipse releases.

• Our observations:1. ETP-APIs always compatible in new Eclipse releases.

2. Bad interfaces are the main cause of incompatibilities.

3. Informally, found old bad interfaces stable. • Formally verified observation 2. • Trained prediction models• Tested the prediction models.

PAGE 5

Page 6: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

Motivation

• Previous study (Survival of ETPs – ICSM 2012), we tested compatibility of 345 ETP-APIs and 288 ETP-non-APIs with different Eclipse releases.

• Our observations:1. ETP-APIs always compatible in new Eclipse releases.

2. Bad interfaces are the main cause of incompatibilities.

3. Informally, found old bad interfaces stable. • Formally verified observation 2. • Trained prediction models• Tested the prediction models.

PAGE 6

Page 7: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

Compatibility prediction

• Requirements of compatibility prediction:

− Current SDK compatible with ETP− Later SDK to make prediction

• We built 36 prediction models in total• Models are bases on bad interfaces

used by ETPs

PAGE 8

Page 8: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

ETP-non-APIs supported in Eclipse Releases

PAGE 9

Eclipse 2.1 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Total

# ETPs 29 48 34 40 38 36 33 30 288

Page 9: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training

Statistics – Binary Logistic Regression

Dependent variablep # Independent variables

24-09-201210

Page 10: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

P1 P2 P3

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

24-09-2012 11

Page 11: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P1 P2 P3

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

24-09-2012 12

Page 12: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P1 P2 P3

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 13

Page 13: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 14

Page 14: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

6 28 74

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 15

Page 15: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

6 28 74

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 16

Dependent variable

Independent variables

Page 16: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

6 28 74

Logistic Regression

Machine

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 17

Dependent variable

Independent variables

Page 17: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

6 28 74

Logistic Regression

Out put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

𝑏2𝑏1 𝑏3 𝑏4

Machine

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 18

Dependent variable

Independent variables

Page 18: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

In put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P115

P24

P38

6 28 74

Logistic Regression

Out put

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

𝑏2𝑏1 𝑏3 𝑏4

Machine

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

1 0 0

24-09-2012 19

Dependent variable

Independent variables

Page 19: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P420

8 5

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

24-09-2012 20

7

Page 20: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Model Training Example

1.0

1.0 2.0 2.1 3.0

Eclipse 3.0 non-APIs

P420

8 5

ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0

24-09-2012 21

7 <0.5 – incompatibility>=0.5 – compatibility

Page 21: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Results

• In both model training and testing: High Precision, Accuracy, and Recall, where some were 80% and more

24-09-2012 22

Model Testing Error Analysis3.5 3.6 3.7

A P R A P R A P R

3.4 94 100 94 93 100 93 93 100 93

3.5 91 94 96 88 91 96

Page 22: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

Conclusion and Future Work

• Mining interface usage from ETPs to detect or predict compatibility shows good results.

• Next, develop a domain specific tool to make predictions.

• Who can use the tool? users and developers of ETPs

PAGE 23

Page 23: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Software Engineering and Technology (SET) 12-04-2023

Thank you for listening

PAGE 24