1 / 23

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. The Eclipse Framework. Eclipse Framework. Eclipse Third-party Plug-ins (ETPs). P1. P2. P3. P4. The Eclipse Framework ….

duard
Download Presentation

Compatibility Prediction of Eclipse Third-party Plug-ins in new Eclipse Releases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. The Eclipse Framework Eclipse Framework Eclipse Third-party Plug-ins (ETPs) P1 P2 P3 P4 Software Engineering and Technology (SET)

  3. The Eclipse Framework … • Eclipse non-APIs (“bad”) • “internal” • unstable, • discouraged, • unsupported • Eclipse APIs(“good”) • no “internal” • stable, • supported Eclipse Framework Eclipse Third-party Plug-ins (ETPs) P1 P2 P3 P4 Software Engineering and Technology (SET)

  4. The Eclipse Framework … • Eclipse non-APIs (“bad”) • “internal” • unstable, • discouraged, • unsupported • Eclipse APIs(“good”) • no “internal” • stable, • supported Eclipse Framework Eclipse Third-party Plug-ins (ETPs) P1 P2 P3 P4 • P3 – ETP-APIs • P1, P2 and P4 – ETP-non-APIs Software Engineering and Technology (SET)

  5. Motivation • Previous study (Survival of ETPs – ICSM 2012), we testedcompatibilityof 345 ETP-APIsand288 ETP-non-APIswithdifferent Eclipse releases. • Ourobservations: • ETP-APIsalwayscompatible in new Eclipse releases. • Bad interfaces are the main cause of incompatibilities. • Informally, found oldbad interfacesstable. • Formallyverifiedobservation2. • Trainedpredictionmodels • Testedthe predictionmodels. Software Engineering and Technology (SET)

  6. Motivation • Previousstudy(Survival of ETPs– ICSM 2012), we testedcompatibilityof 345 ETP-APIsand288 ETP-non-APIswithdifferent Eclipse releases. • Ourobservations: • ETP-APIsalwayscompatible in new Eclipse releases. • Bad interfacesare the main cause of incompatibilities. • Informally, found oldbad interfacesstable. • Formallyverifiedobservation2. • Trainedpredictionmodels • Testedthe predictionmodels. Software Engineering and Technology (SET)

  7. 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 interfacesused by ETPs Software Engineering and Technology (SET)

  8. ETP-non-APIs supported in Eclipse Releases Software Engineering and Technology (SET)

  9. Model Training • Statistics – Binary Logistic Regression • Dependent variable • p # Independent variables

  10. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put P1 P2 P3

  11. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put P1 P2 P3 2.0 2.1 1.0 3.0 1.0 Eclipse 3.0 non-APIs

  12. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put P1 P2 P3 0 1 0 2.0 2.1 1.0 3.0 1.0 Eclipse 3.0 non-APIs

  13. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put P3 P2 P1 0 1 0 15 4 8 2.0 2.1 1.0 3.0 1.0 Eclipse 3.0 non-APIs

  14. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put P3 P2 P1 0 1 0 15 4 8 2 8 7 6 4 2.0 2.1 1.0 3.0 1.0 Eclipse 3.0 non-APIs

  15. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put Dependent variable P2 P1 P3 0 1 0 15 4 8 2 8 7 6 4 2.0 2.1 1.0 3.0 1.0 Independent variables Eclipse 3.0 non-APIs

  16. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put Dependent variable P3 P1 P2 0 1 0 15 4 8 Machine Logistic Regression 2 8 7 6 4 2.0 2.1 1.0 3.0 1.0 Independent variables Eclipse 3.0 non-APIs

  17. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put Dependent variable Out put P2 P3 P1 0 1 0 15 4 8 Machine Logistic Regression 2 7 8 6 4 2.0 2.1 1.0 3.0 1.0 1.0 1.0 2.0 3.0 2.1 Independent variables Eclipse 3.0 non-APIs Eclipse 3.0 non-APIs

  18. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 In put Dependent variable Out put P2 P3 P1 0 1 0 15 4 8 Machine Logistic Regression 2 7 8 6 4 2.0 2.1 1.0 3.0 1.0 1.0 1.0 2.0 3.0 2.1 Independent variables Eclipse 3.0 non-APIs Eclipse 3.0 non-APIs

  19. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 P4 20 7 8 2.0 2.1 1.0 3.0 1.0 5 Eclipse 3.0 non-APIs

  20. Model Training Example ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 P4 <0.5 – incompatibility >=0.5 – compatibility 20 7 8 2.0 2.1 1.0 3.0 1.0 5 Eclipse 3.0 non-APIs

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

  22. 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 Software Engineering and Technology (SET)

  23. Thank you for listening Software Engineering and Technology (SET)

More Related