SlideShare a Scribd company logo
Compatibility Prediction of
Eclipse Third-party Plug-ins in
new Eclipse Releases
John Businge, Alexander Serebrenik,
Mark van den Brand
The Eclipse Framework
Software Engineering and Technology (SET) PAGE 19-6-2014
P1 P4P3P2
Eclipse
Framework
Eclipse Third-
party Plug-ins
(ETPs)
The Eclipse Framework …
Software Engineering and Technology (SET) PAGE 29-6-2014
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
The Eclipse Framework …
Software Engineering and Technology (SET) PAGE 39-6-2014
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
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.
Software Engineering and Technology (SET) PAGE 49-6-2014
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.
Software Engineering and Technology (SET) PAGE 59-6-2014
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
Software Engineering and Technology (SET) PAGE 79-6-2014
ETP-non-APIs supported in Eclipse Releases
Software Engineering and Technology (SET) PAGE 89-6-2014
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
Model Training
 Statistics – Binary Logistic
Regression
𝑷 𝑒𝑣𝑒𝑛𝑡 = 1/(1 + 𝑒−𝒛
)
𝒛 = 𝑏0 + 𝑏1 𝑋1 + … + 𝑏 𝑝 𝑋 𝑝
𝑷 𝑒𝑣𝑒𝑛𝑡 −Dependent variable
p # Independent variables
24-09-2012
9
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 10
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 11
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 12
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0
1 0 0
24-09-2012 13
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0
1 0 0
24-09-2012 14
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0
1 0 0
24-09-2012 15
Dependent variable
Independent variables
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
Logistic
Regression
Machine
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
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
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 17
Dependent variable
Independent variables
Model Training Example
In put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P1
15
P2
4
P3
8
Logistic
Regression
Out put
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
𝑏2𝑏1 𝑏3 𝑏4
Machine
𝑷 𝑋 = 1/(1 + 𝑒−𝒛
)
𝒛 = 𝑏0 + 𝑏1 ∗ 𝑺𝑫𝑲1.0 + 𝑏4 ∗ 𝑺𝑫𝑲3.0
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
Model Training Example
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P4
20
ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0
24-09-2012 19
Model Training Example
1.
0
1.0 2.0 2.1 3.0
Eclipse 3.0 non-APIs
P4
20
ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0
24-09-2012 20
𝑷 𝑋 = 1/(1 + 𝑒−𝒛)
𝒛 = 𝑏0 + 𝑏1 ∗ 8 + 𝑏4 ∗ 5
𝑷 𝑋 <0.5 – incompatibility
𝑷 𝑋 >=0.5 – compatibility
Results
• In both model training and testing: High
Precision, Accuracy, and Recall, where
some were 80% and more
24-09-2012 21
Model Testing Error Analysis
3.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
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) PAGE 229-6-2014
Thank you for listening
Software Engineering and Technology (SET) PAGE 239-6-2014

More Related Content

What's hot

OpenCV祭り (配布用)
OpenCV祭り (配布用)OpenCV祭り (配布用)
OpenCV祭り (配布用)
tomoaki0705
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
Edward Willink
 
Repair dagstuhl jan2017
Repair dagstuhl jan2017Repair dagstuhl jan2017
Repair dagstuhl jan2017
Abhik Roychoudhury
 
OCL 2.4. (... 2.5)
OCL 2.4. (... 2.5)OCL 2.4. (... 2.5)
OCL 2.4. (... 2.5)
Edward Willink
 
Python in a physics lab
Python in a physics labPython in a physics lab
Python in a physics lab
Gergely Imreh
 
Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5AtakanAral
 

What's hot (6)

OpenCV祭り (配布用)
OpenCV祭り (配布用)OpenCV祭り (配布用)
OpenCV祭り (配布用)
 
Embedded OCL Integration and Debugging
Embedded OCL Integration and DebuggingEmbedded OCL Integration and Debugging
Embedded OCL Integration and Debugging
 
Repair dagstuhl jan2017
Repair dagstuhl jan2017Repair dagstuhl jan2017
Repair dagstuhl jan2017
 
OCL 2.4. (... 2.5)
OCL 2.4. (... 2.5)OCL 2.4. (... 2.5)
OCL 2.4. (... 2.5)
 
Python in a physics lab
Python in a physics labPython in a physics lab
Python in a physics lab
 
Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5
 

Viewers also liked

Fresh Produce
Fresh ProduceFresh Produce
Fresh Produce
Colt
 
Insulin
InsulinInsulin
English Flip Chart 2010
English Flip Chart 2010English Flip Chart 2010
English Flip Chart 2010AMuniz
 
Power Point
Power PointPower Point
Power PointArnauGil
 
Reunió pares p3 juny curs 12 13
Reunió pares p3 juny  curs 12 13Reunió pares p3 juny  curs 12 13
Reunió pares p3 juny curs 12 13edumallol
 
An empirical study of the evolution of Eclipse third-party plug-ins
An empirical study of the evolution of Eclipse third-party plug-insAn empirical study of the evolution of Eclipse third-party plug-ins
An empirical study of the evolution of Eclipse third-party plug-insAlexander Serebrenik
 
actionreserchpbl
actionreserchpblactionreserchpbl
actionreserchpbl
puniga
 
Icsm 2011 you can't control the unfamiliar
Icsm 2011 you can't control the unfamiliarIcsm 2011 you can't control the unfamiliar
Icsm 2011 you can't control the unfamiliarAlexander Serebrenik
 
Sattose talk
Sattose talkSattose talk
Sattose talk
Alexander Serebrenik
 
Mo E Training 00 Welcome
Mo E Training   00   WelcomeMo E Training   00   Welcome
Mo E Training 00 Welcome
abumaather
 
Plan van aanpak Documentaire
Plan van aanpak DocumentairePlan van aanpak Documentaire
Plan van aanpak Documentaire
pepijnborgwat.nl
 
865 Project presentation
865 Project presentation865 Project presentation
865 Project presentationIan Pollock
 
Security and Emotion: Sentiment Analysis of Security Discussions on GitHub
Security and Emotion: Sentiment Analysis of Security Discussions on GitHubSecurity and Emotion: Sentiment Analysis of Security Discussions on GitHub
Security and Emotion: Sentiment Analysis of Security Discussions on GitHub
Alexander Serebrenik
 
researchpbl
researchpblresearchpbl
researchpbl
puniga
 
Sattose hackathon
Sattose hackathonSattose hackathon
Sattose hackathon
Alexander Serebrenik
 
Riverbend Market Cooperative
Riverbend Market CooperativeRiverbend Market Cooperative
Riverbend Market Cooperative
Colt
 
Mock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap CarMock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap Car
Melissa Anne Lim
 

Viewers also liked (20)

Fresh Produce
Fresh ProduceFresh Produce
Fresh Produce
 
TTT
TTTTTT
TTT
 
Insulin
InsulinInsulin
Insulin
 
English Flip Chart 2010
English Flip Chart 2010English Flip Chart 2010
English Flip Chart 2010
 
Power Point
Power PointPower Point
Power Point
 
Reunió pares p3 juny curs 12 13
Reunió pares p3 juny  curs 12 13Reunió pares p3 juny  curs 12 13
Reunió pares p3 juny curs 12 13
 
An empirical study of the evolution of Eclipse third-party plug-ins
An empirical study of the evolution of Eclipse third-party plug-insAn empirical study of the evolution of Eclipse third-party plug-ins
An empirical study of the evolution of Eclipse third-party plug-ins
 
actionreserchpbl
actionreserchpblactionreserchpbl
actionreserchpbl
 
Icsm 2011 you can't control the unfamiliar
Icsm 2011 you can't control the unfamiliarIcsm 2011 you can't control the unfamiliar
Icsm 2011 you can't control the unfamiliar
 
Sattose talk
Sattose talkSattose talk
Sattose talk
 
TTT
TTTTTT
TTT
 
Mo E Training 00 Welcome
Mo E Training   00   WelcomeMo E Training   00   Welcome
Mo E Training 00 Welcome
 
Plan van aanpak Documentaire
Plan van aanpak DocumentairePlan van aanpak Documentaire
Plan van aanpak Documentaire
 
865 Project presentation
865 Project presentation865 Project presentation
865 Project presentation
 
Regreso A Clase
Regreso A ClaseRegreso A Clase
Regreso A Clase
 
Security and Emotion: Sentiment Analysis of Security Discussions on GitHub
Security and Emotion: Sentiment Analysis of Security Discussions on GitHubSecurity and Emotion: Sentiment Analysis of Security Discussions on GitHub
Security and Emotion: Sentiment Analysis of Security Discussions on GitHub
 
researchpbl
researchpblresearchpbl
researchpbl
 
Sattose hackathon
Sattose hackathonSattose hackathon
Sattose hackathon
 
Riverbend Market Cooperative
Riverbend Market CooperativeRiverbend Market Cooperative
Riverbend Market Cooperative
 
Mock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap CarMock Advertisement for Amphibious Mousetrap Car
Mock Advertisement for Amphibious Mousetrap Car
 

Similar to Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases

Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2
gregoryg
 
Correctness attraction __kth_2017
Correctness attraction __kth_2017Correctness attraction __kth_2017
Correctness attraction __kth_2017
Benjamin Danglot
 
Automated Program Repair Keynote talk
Automated Program Repair Keynote talkAutomated Program Repair Keynote talk
Automated Program Repair Keynote talk
Abhik Roychoudhury
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
jfrchicanog
 
Scaling Deep Learning Algorithms on Extreme Scale Architectures
Scaling Deep Learning Algorithms on Extreme Scale ArchitecturesScaling Deep Learning Algorithms on Extreme Scale Architectures
Scaling Deep Learning Algorithms on Extreme Scale Architectures
inside-BigData.com
 
Symbexecsearch
SymbexecsearchSymbexecsearch
Symbexecsearch
Abhik Roychoudhury
 
Unit3 cspc
Unit3 cspcUnit3 cspc
Unit3 cspc
BBDITM LUCKNOW
 
Software Testing and the R language
Software Testing and the R languageSoftware Testing and the R language
Software Testing and the R language
Lou Bajuk
 
Scaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlowScaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlow
Databricks
 
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Edureka!
 
Safe navigation in OCL
Safe navigation in OCLSafe navigation in OCL
Safe navigation in OCL
Edward Willink
 
Unit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptxUnit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptx
DrYogeshDeshmukh1
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Academia de Ingeniería de México
 
notesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Toolsnotesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Tools
Tonny Madsen
 
NIPS2017 Few-shot Learning and Graph Convolution
NIPS2017 Few-shot Learning and Graph ConvolutionNIPS2017 Few-shot Learning and Graph Convolution
NIPS2017 Few-shot Learning and Graph Convolution
Kazuki Fujikawa
 
Javascript
JavascriptJavascript
Javascript
Sheldon Abraham
 
OpenPOWER Webinar from University of Delaware - Title :OpenMP (offloading) o...
OpenPOWER Webinar from University of Delaware  - Title :OpenMP (offloading) o...OpenPOWER Webinar from University of Delaware  - Title :OpenMP (offloading) o...
OpenPOWER Webinar from University of Delaware - Title :OpenMP (offloading) o...
Ganesan Narayanasamy
 
Penn  State  University          School  of.docx
Penn  State  University            School  of.docxPenn  State  University            School  of.docx
Penn  State  University          School  of.docx
danhaley45372
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorialoscon2007
 

Similar to Compatibility Prediction of Eclipse Third-Party Plug-ins in New Eclipse Releases (20)

Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2Boetticher Presentation Promise 2008v2
Boetticher Presentation Promise 2008v2
 
Correctness attraction __kth_2017
Correctness attraction __kth_2017Correctness attraction __kth_2017
Correctness attraction __kth_2017
 
Automated Program Repair Keynote talk
Automated Program Repair Keynote talkAutomated Program Repair Keynote talk
Automated Program Repair Keynote talk
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
 
Scaling Deep Learning Algorithms on Extreme Scale Architectures
Scaling Deep Learning Algorithms on Extreme Scale ArchitecturesScaling Deep Learning Algorithms on Extreme Scale Architectures
Scaling Deep Learning Algorithms on Extreme Scale Architectures
 
Symbexecsearch
SymbexecsearchSymbexecsearch
Symbexecsearch
 
Unit3 cspc
Unit3 cspcUnit3 cspc
Unit3 cspc
 
Software Testing and the R language
Software Testing and the R languageSoftware Testing and the R language
Software Testing and the R language
 
Scaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlowScaling Up AI Research to Production with PyTorch and MLFlow
Scaling Up AI Research to Production with PyTorch and MLFlow
 
Ch15-22-23 (1).ppt
Ch15-22-23 (1).pptCh15-22-23 (1).ppt
Ch15-22-23 (1).ppt
 
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
Python Loops Tutorial | Python For Loop | While Loop Python | Python Training...
 
Safe navigation in OCL
Safe navigation in OCLSafe navigation in OCL
Safe navigation in OCL
 
Unit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptxUnit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptx
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
 
notesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Toolsnotesnet.dk - Eclipse Modelling Tools
notesnet.dk - Eclipse Modelling Tools
 
NIPS2017 Few-shot Learning and Graph Convolution
NIPS2017 Few-shot Learning and Graph ConvolutionNIPS2017 Few-shot Learning and Graph Convolution
NIPS2017 Few-shot Learning and Graph Convolution
 
Javascript
JavascriptJavascript
Javascript
 
OpenPOWER Webinar from University of Delaware - Title :OpenMP (offloading) o...
OpenPOWER Webinar from University of Delaware  - Title :OpenMP (offloading) o...OpenPOWER Webinar from University of Delaware  - Title :OpenMP (offloading) o...
OpenPOWER Webinar from University of Delaware - Title :OpenMP (offloading) o...
 
Penn  State  University          School  of.docx
Penn  State  University            School  of.docxPenn  State  University            School  of.docx
Penn  State  University          School  of.docx
 
Os Tibbittstutorial
Os TibbittstutorialOs Tibbittstutorial
Os Tibbittstutorial
 

More from Alexander Serebrenik

Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...
Alexander Serebrenik
 
Towards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBotTowards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBot
Alexander Serebrenik
 
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
Alexander Serebrenik
 
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
Alexander Serebrenik
 
Emotion Analysis in Software Ecosystems
Emotion Analysis in Software EcosystemsEmotion Analysis in Software Ecosystems
Emotion Analysis in Software Ecosystems
Alexander Serebrenik
 
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Alexander Serebrenik
 
Gender and Age in Software Engineering
Gender and Age in Software EngineeringGender and Age in Software Engineering
Gender and Age in Software Engineering
Alexander Serebrenik
 
Alexander - intro
Alexander - introAlexander - intro
Alexander - intro
Alexander Serebrenik
 
Diversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroomDiversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroom
Alexander Serebrenik
 
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis AlarmsAn Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
Alexander Serebrenik
 
Classification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis AlarmsClassification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis Alarms
Alexander Serebrenik
 
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The NetherlandsWhat Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
Alexander Serebrenik
 
Gender and Community Smells
Gender and Community SmellsGender and Community Smells
Gender and Community Smells
Alexander Serebrenik
 
Bias in MSR Research
Bias in MSR ResearchBias in MSR Research
Bias in MSR Research
Alexander Serebrenik
 
From team organisation to software quality
From team organisation to software qualityFrom team organisation to software quality
From team organisation to software quality
Alexander Serebrenik
 
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Alexander Serebrenik
 
My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)
Alexander Serebrenik
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software Engineering
Alexander Serebrenik
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical Debt
Alexander Serebrenik
 
Gender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software EngineeringGender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software Engineering
Alexander Serebrenik
 

More from Alexander Serebrenik (20)

Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...Software development is a human activity: understanding software requires und...
Software development is a human activity: understanding software requires und...
 
Towards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBotTowards Continuous Performance Assessment of Java Applications With PerfBot
Towards Continuous Performance Assessment of Java Applications With PerfBot
 
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
“STILL AROUND”: Experiences and Survival Strategies of Veteran Women Software...
 
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
A Qualitative Study of Developers’ Discussions of Their Problems and Joys Dur...
 
Emotion Analysis in Software Ecosystems
Emotion Analysis in Software EcosystemsEmotion Analysis in Software Ecosystems
Emotion Analysis in Software Ecosystems
 
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
Investigating the Resolution of Vulnerable Dependencies with Dependabot Secur...
 
Gender and Age in Software Engineering
Gender and Age in Software EngineeringGender and Age in Software Engineering
Gender and Age in Software Engineering
 
Alexander - intro
Alexander - introAlexander - intro
Alexander - intro
 
Diversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroomDiversity and inclusion in a CS classroom
Diversity and inclusion in a CS classroom
 
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis AlarmsAn Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
An Empirical Assessment on Merging and Repositioning of Static Analysis Alarms
 
Classification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis AlarmsClassification and Ranking of Delta Static Analysis Alarms
Classification and Ranking of Delta Static Analysis Alarms
 
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The NetherlandsWhat Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
What Is an AI Engineer? An Empirical Analysis of Job Ads in The Netherlands
 
Gender and Community Smells
Gender and Community SmellsGender and Community Smells
Gender and Community Smells
 
Bias in MSR Research
Bias in MSR ResearchBias in MSR Research
Bias in MSR Research
 
From team organisation to software quality
From team organisation to software qualityFrom team organisation to software quality
From team organisation to software quality
 
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
Women in Dutch Computer Science: Best Practices for Recruitment, Onboarding a...
 
My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)My research story (presentation at ICSE 2021 New Faculty Symposium)
My research story (presentation at ICSE 2021 New Faculty Symposium)
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software Engineering
 
Removing Self Admitted Technical Debt
Removing Self Admitted Technical DebtRemoving Self Admitted Technical Debt
Removing Self Admitted Technical Debt
 
Gender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software EngineeringGender Diversity and Inclusion and Software Engineering
Gender Diversity and Inclusion and Software Engineering
 

Recently uploaded

Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 

Recently uploaded (20)

Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 

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

  • 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 Software Engineering and Technology (SET) PAGE 19-6-2014 P1 P4P3P2 Eclipse Framework Eclipse Third- party Plug-ins (ETPs)
  • 3. The Eclipse Framework … Software Engineering and Technology (SET) PAGE 29-6-2014 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
  • 4. The Eclipse Framework … Software Engineering and Technology (SET) PAGE 39-6-2014 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
  • 5. 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. Software Engineering and Technology (SET) PAGE 49-6-2014
  • 6. 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. Software Engineering and Technology (SET) PAGE 59-6-2014
  • 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 interfaces used by ETPs Software Engineering and Technology (SET) PAGE 79-6-2014
  • 8. ETP-non-APIs supported in Eclipse Releases Software Engineering and Technology (SET) PAGE 89-6-2014 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
  • 9. Model Training  Statistics – Binary Logistic Regression 𝑷 𝑒𝑣𝑒𝑛𝑡 = 1/(1 + 𝑒−𝒛 ) 𝒛 = 𝑏0 + 𝑏1 𝑋1 + … + 𝑏 𝑝 𝑋 𝑝 𝑷 𝑒𝑣𝑒𝑛𝑡 −Dependent variable p # Independent variables 24-09-2012 9
  • 10. 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 10
  • 11. 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 11
  • 12. 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 12
  • 13. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 1 0 0 24-09-2012 13
  • 14. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 1 0 0 24-09-2012 14
  • 15. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 1 0 0 24-09-2012 15 Dependent variable Independent variables
  • 16. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 Logistic Regression Machine 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
  • 17. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 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 17 Dependent variable Independent variables
  • 18. Model Training Example In put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P1 15 P2 4 P3 8 Logistic Regression Out put 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs 𝑏2𝑏1 𝑏3 𝑏4 Machine 𝑷 𝑋 = 1/(1 + 𝑒−𝒛 ) 𝒛 = 𝑏0 + 𝑏1 ∗ 𝑺𝑫𝑲1.0 + 𝑏4 ∗ 𝑺𝑫𝑲3.0 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
  • 19. Model Training Example 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P4 20 ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 24-09-2012 19
  • 20. Model Training Example 1. 0 1.0 2.0 2.1 3.0 Eclipse 3.0 non-APIs P4 20 ETPs supported in Eclipse 3.0 – Prediction in Eclipse X, where X > 3.0 24-09-2012 20 𝑷 𝑋 = 1/(1 + 𝑒−𝒛) 𝒛 = 𝑏0 + 𝑏1 ∗ 8 + 𝑏4 ∗ 5 𝑷 𝑋 <0.5 – incompatibility 𝑷 𝑋 >=0.5 – compatibility
  • 21. Results • In both model training and testing: High Precision, Accuracy, and Recall, where some were 80% and more 24-09-2012 21 Model Testing Error Analysis 3.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
  • 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) PAGE 229-6-2014
  • 23. Thank you for listening Software Engineering and Technology (SET) PAGE 239-6-2014

Editor's Notes

  1. Technical support from framework developers, ease of maintenance, and