compatibility prediction of eclipse third-party plug-ins in new eclipse releases
TRANSCRIPT
![Page 1: Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062418/555a38edd8b42ae1398b48bc/html5/thumbnails/23.jpg)
Software Engineering and Technology (SET) 12-04-2023
Thank you for listening
PAGE 24