SlideShare a Scribd company logo
1 of 13
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
VerXCombo:
An interactive data visualization of
popular library version combinations
Yuki Yano, Raula Gaikovina Kula,
Takashi Ishio, Katsuro Inoue
Graduate School of Information Science and
Technology,
Osaka University, Japan
1
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software Library Reuse
Developers often use third-party libraries[1]
Benefits:
•Needed features
•High quality
•Time and cost efficient
•Avoid reinventing the wheel
Adopt 3rd party libraries
2
[1] C. Ebert, “Open source software in industry,” in IEEE Software,
2008, pp. 52–53.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Complex library dependencies
in large software systems
Large systems can have very complex
library dependencies
Library
System
3
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• Library update may cause software breakages
because of incompatibility [2][3]
• System Maintainer needs to decide “when” and
“what version” to update?
Library Update problem
4
[2] S. Raemaekers, A. van Deursen, and J. Visser, “Semantic versioning
versus breaking changes: A study of the maven repository,” in Proc. of SCAM, Sept 2014, pp. 215–224.
[3] R. G. Kula, D. M. German, T. Ishio, and K. Inoue, “Trusting a library: A study of the latency to adopt the latest maven
release,” in 22nd IEEE Int. Conf. on Soft. Ana., Evo., and Reeng., SANER 2015, Montreal, Canada, March 2-6, 2015,
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Propose solution: VerXCombo
VerXCombo visualizes popularity of library version
combinations to determine best-fit
Wisdom of the crowd: Popularity indicates Compatibility
VerXCombo
5
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• Visualize library combinations as Parallel Sets[4]
Features for User Interaction
Features
Mouse over highlighting a
combination link.
Vertical Rearrangement
Horizontal Rearrangement
Sorting by Popular Usage
Sorting by Version
[4] F. Bendix, “Visual Analysis Tool for Categorical Data Parallel Sets”, no. 1, 2005.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Demo Scenario
7
Commons-
Collections
Ver. 3.2
Commons-
HttpClient
Ver. 3.1
𝑆1 Update
Joda-Time
Ver. ?
𝑆2
Commons-
Collections
Ver. 3.2
Commons-
HttpClient
Ver. 3.1
•Introduce a new library.
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
What information does the user
want to know?
Q1: What set of the target library version
combinations ‘best-fit’ the current system
dependency environment?
Q2: What is the most popular combination
set of libraries?
Q3: What combination satisfies the closest
to the latest version combination?
8
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Q1: What set of the target library version
combinations ‘fit-in’ the current system
dependency environment?
9
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Q2: What is the most popular
combination set of libraries?
10
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Q3: What combination satisfies the closest
to the latest version combination?
11
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Conclusion and Future Work
Our tool uses wisdom of crowd to determine
best-fit library update for large systems
–Popularity
–Latest version
Future work
–Extend 3 combination to n combination
–Explore dependency within libraries(transitive
dependency)
12
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
13
Thank you for your attention!

More Related Content

Viewers also liked

Бенчмаркинг День 2013 - программа
Бенчмаркинг День 2013 - программаБенчмаркинг День 2013 - программа
Бенчмаркинг День 2013 - программаYulya Uzhakina
 
CM Ventures Finance investment management www.discoverpotentialturkey.com
CM Ventures Finance investment management  www.discoverpotentialturkey.com CM Ventures Finance investment management  www.discoverpotentialturkey.com
CM Ventures Finance investment management www.discoverpotentialturkey.com Mustafa Celepoglu
 
หน้าที่พิเศษของลำต้น
หน้าที่พิเศษของลำต้นหน้าที่พิเศษของลำต้น
หน้าที่พิเศษของลำต้นBiobiome
 
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...lansisuomenhelmet
 
как создать компанию в Швейцарии
как создать компанию в Швейцариикак создать компанию в Швейцарии
как создать компанию в ШвейцарииBridgeWest.eu
 
יום מושלם מצגת
יום מושלם מצגתיום מושלם מצגת
יום מושלם מצגתStas Segin
 
Tovarna Podjemov
Tovarna PodjemovTovarna Podjemov
Tovarna Podjemovpesec
 
Journal search brcc
Journal search brccJournal search brcc
Journal search brccKieffala
 
Excess hair growth
Excess hair growthExcess hair growth
Excess hair growthhpinn
 
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12IMARC Research
 
Future Educator Association FEA Advisor Update Session
Future Educator Association FEA Advisor Update Session Future Educator Association FEA Advisor Update Session
Future Educator Association FEA Advisor Update Session Rachael Mann
 

Viewers also liked (18)

Бенчмаркинг День 2013 - программа
Бенчмаркинг День 2013 - программаБенчмаркинг День 2013 - программа
Бенчмаркинг День 2013 - программа
 
CM Ventures Finance investment management www.discoverpotentialturkey.com
CM Ventures Finance investment management  www.discoverpotentialturkey.com CM Ventures Finance investment management  www.discoverpotentialturkey.com
CM Ventures Finance investment management www.discoverpotentialturkey.com
 
George Siemens
George SiemensGeorge Siemens
George Siemens
 
Surgem anjos
Surgem anjosSurgem anjos
Surgem anjos
 
Little Penguins
Little PenguinsLittle Penguins
Little Penguins
 
หน้าที่พิเศษของลำต้น
หน้าที่พิเศษของลำต้นหน้าที่พิเศษของลำต้น
หน้าที่พิเศษของลำต้น
 
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...
Sosiaalisten yritysten toimintaympäristön_nykytila_yritysten_johtohekilöiden_...
 
Bản tin CLB DMD tháng 5 - 2013
Bản tin CLB DMD tháng 5 - 2013Bản tin CLB DMD tháng 5 - 2013
Bản tin CLB DMD tháng 5 - 2013
 
как создать компанию в Швейцарии
как создать компанию в Швейцариикак создать компанию в Швейцарии
как создать компанию в Швейцарии
 
יום מושלם מצגת
יום מושלם מצגתיום מושלם מצגת
יום מושלם מצגת
 
Arts 6
Arts 6Arts 6
Arts 6
 
Tovarna Podjemov
Tovarna PodjemovTovarna Podjemov
Tovarna Podjemov
 
Os
OsOs
Os
 
Journal search brcc
Journal search brccJournal search brcc
Journal search brcc
 
Excess hair growth
Excess hair growthExcess hair growth
Excess hair growth
 
Manifest alcaldes
Manifest alcaldesManifest alcaldes
Manifest alcaldes
 
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12
Sandra Maddock & Brandy Smith BioEnterprise Presentation 9.6.12
 
Future Educator Association FEA Advisor Update Session
Future Educator Association FEA Advisor Update Session Future Educator Association FEA Advisor Update Session
Future Educator Association FEA Advisor Update Session
 

Similar to VerXCombo: An interactive data visualization of popular library version combinations

GeoChronos
GeoChronosGeoChronos
GeoChronoscurryr
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management SystemSoumili Sen
 
Impact of the evergreen library automation system on public library users
Impact of the evergreen library automation system on public library usersImpact of the evergreen library automation system on public library users
Impact of the evergreen library automation system on public library usersIndiana Online Users Group
 
Two heads are better than one a report p on the drf technical workshop
Two heads are better than one a report p on the drf technical workshopTwo heads are better than one a report p on the drf technical workshop
Two heads are better than one a report p on the drf technical workshopYuji Nonaka
 
bio data
bio databio data
bio data007dcp
 
Application of Library Management Software: NewGenLib
Application of Library Management Software: NewGenLibApplication of Library Management Software: NewGenLib
Application of Library Management Software: NewGenLibDavid Nzoputa Ofili
 
An Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemAn Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemGeorge Boston
 
An Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemAn Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemGeorge Boston
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemTom Mens
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystemeconst
 
New ICT Trends and Issues of Librarianship
New ICT Trends and Issues of LibrarianshipNew ICT Trends and Issues of Librarianship
New ICT Trends and Issues of LibrarianshipLiaquat Rahoo
 
Front and Center: Getting library resources included in your University’s tec...
Front and Center: Getting library resources included in your University’s tec...Front and Center: Getting library resources included in your University’s tec...
Front and Center: Getting library resources included in your University’s tec...Rosalind Tedford
 
Module 6_Research Publication_Ethics.docx
Module 6_Research Publication_Ethics.docxModule 6_Research Publication_Ethics.docx
Module 6_Research Publication_Ethics.docxjisskuruvilla
 
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...Au Gai
 
Open Source Systems for Libraries: A New Approach to Resource Sharing
Open Source Systems for Libraries: A New Approach to Resource SharingOpen Source Systems for Libraries: A New Approach to Resource Sharing
Open Source Systems for Libraries: A New Approach to Resource SharingEric Schnell
 
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...Europeana
 

Similar to VerXCombo: An interactive data visualization of popular library version combinations (20)

Application of oss nilis-2012
Application of oss nilis-2012Application of oss nilis-2012
Application of oss nilis-2012
 
GeoChronos
GeoChronosGeoChronos
GeoChronos
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Impact of the evergreen library automation system on public library users
Impact of the evergreen library automation system on public library usersImpact of the evergreen library automation system on public library users
Impact of the evergreen library automation system on public library users
 
Two heads are better than one a report p on the drf technical workshop
Two heads are better than one a report p on the drf technical workshopTwo heads are better than one a report p on the drf technical workshop
Two heads are better than one a report p on the drf technical workshop
 
bio data
bio databio data
bio data
 
Application of Library Management Software: NewGenLib
Application of Library Management Software: NewGenLibApplication of Library Management Software: NewGenLib
Application of Library Management Software: NewGenLib
 
An Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemAn Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu System
 
An Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu SystemAn Improved Open Url Resolver Menu System
An Improved Open Url Resolver Menu System
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software EcosystemSocial and Technical Evolution of the Ruby on Rails Software Ecosystem
Social and Technical Evolution of the Ruby on Rails Software Ecosystem
 
New ICT Trends and Issues of Librarianship
New ICT Trends and Issues of LibrarianshipNew ICT Trends and Issues of Librarianship
New ICT Trends and Issues of Librarianship
 
E-library mangament system
E-library mangament systemE-library mangament system
E-library mangament system
 
Electrical Layout
Electrical LayoutElectrical Layout
Electrical Layout
 
Front and Center: Getting library resources included in your University’s tec...
Front and Center: Getting library resources included in your University’s tec...Front and Center: Getting library resources included in your University’s tec...
Front and Center: Getting library resources included in your University’s tec...
 
Module 6_Research Publication_Ethics.docx
Module 6_Research Publication_Ethics.docxModule 6_Research Publication_Ethics.docx
Module 6_Research Publication_Ethics.docx
 
Research management tools
Research management toolsResearch management tools
Research management tools
 
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...
Intelligent Software Updates: Leveraging the Software Ecosystem to Support wh...
 
Open Source Systems for Libraries: A New Approach to Resource Sharing
Open Source Systems for Libraries: A New Approach to Resource SharingOpen Source Systems for Libraries: A New Approach to Resource Sharing
Open Source Systems for Libraries: A New Approach to Resource Sharing
 
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...WP3 Further specification of Functionality and Interoperability - Gradmann / ...
WP3 Further specification of Functionality and Interoperability - Gradmann / ...
 

Recently uploaded

Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 

Recently uploaded (20)

Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 

VerXCombo: An interactive data visualization of popular library version combinations

  • 1. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An interactive data visualization of popular library version combinations Yuki Yano, Raula Gaikovina Kula, Takashi Ishio, Katsuro Inoue Graduate School of Information Science and Technology, Osaka University, Japan 1
  • 2. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Library Reuse Developers often use third-party libraries[1] Benefits: •Needed features •High quality •Time and cost efficient •Avoid reinventing the wheel Adopt 3rd party libraries 2 [1] C. Ebert, “Open source software in industry,” in IEEE Software, 2008, pp. 52–53.
  • 3. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Complex library dependencies in large software systems Large systems can have very complex library dependencies Library System 3
  • 4. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University • Library update may cause software breakages because of incompatibility [2][3] • System Maintainer needs to decide “when” and “what version” to update? Library Update problem 4 [2] S. Raemaekers, A. van Deursen, and J. Visser, “Semantic versioning versus breaking changes: A study of the maven repository,” in Proc. of SCAM, Sept 2014, pp. 215–224. [3] R. G. Kula, D. M. German, T. Ishio, and K. Inoue, “Trusting a library: A study of the latency to adopt the latest maven release,” in 22nd IEEE Int. Conf. on Soft. Ana., Evo., and Reeng., SANER 2015, Montreal, Canada, March 2-6, 2015,
  • 5. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Propose solution: VerXCombo VerXCombo visualizes popularity of library version combinations to determine best-fit Wisdom of the crowd: Popularity indicates Compatibility VerXCombo 5
  • 6. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University • Visualize library combinations as Parallel Sets[4] Features for User Interaction Features Mouse over highlighting a combination link. Vertical Rearrangement Horizontal Rearrangement Sorting by Popular Usage Sorting by Version [4] F. Bendix, “Visual Analysis Tool for Categorical Data Parallel Sets”, no. 1, 2005.
  • 7. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Demo Scenario 7 Commons- Collections Ver. 3.2 Commons- HttpClient Ver. 3.1 𝑆1 Update Joda-Time Ver. ? 𝑆2 Commons- Collections Ver. 3.2 Commons- HttpClient Ver. 3.1 •Introduce a new library.
  • 8. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What information does the user want to know? Q1: What set of the target library version combinations ‘best-fit’ the current system dependency environment? Q2: What is the most popular combination set of libraries? Q3: What combination satisfies the closest to the latest version combination? 8
  • 9. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Q1: What set of the target library version combinations ‘fit-in’ the current system dependency environment? 9
  • 10. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Q2: What is the most popular combination set of libraries? 10
  • 11. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Q3: What combination satisfies the closest to the latest version combination? 11
  • 12. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Conclusion and Future Work Our tool uses wisdom of crowd to determine best-fit library update for large systems –Popularity –Latest version Future work –Extend 3 combination to n combination –Explore dependency within libraries(transitive dependency) 12
  • 13. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 13 Thank you for your attention!

Editor's Notes

  1. Hello everyone My name is yuki yano. I am a graduate master student at Osaka University, Japan. I would like to talk about Our tool, called VerXCombo. It is visualization tool of popular library version combinations.
  2. In software development, the adoption of third-party libraries is now a commonplace. Third-party libraries provide various features with high quality. By using libraries, we can avoid reinventing the wheel. Refference [1].. According to [1] using 3rd party libraries is becoming very popular in software engineering both open source software and industry. Benefit of using 3rd party llibrary is Needed features are available Trusting quality from library developers You can save time and cost because you are not inplement yourself Avoid reinvent wheel
  3. A software system may depend on several libraries. Each library also depends on other libraries. Such transitive dependencies look like a tree structure, but the actual interaction among libraries can be represented as a complex graph.
  4. The complexity causes a library update problem. Third-party libraries are always updated to include new features and bug fixes. But a new version of a library may be incompatible with system’s complex library dependencies. Updating a library version breaks a software system if it is incompatible with another library used by the system. Hence, a system maintainer needs to decide WHEN and WHAT version to update. Without a library update, developers have risk of bugs like heart bleed and the shellshock bash bug. if we don’t update, we have risk of bugs like heart bleed and the shellshock bash bug, but if we do update, we risk incompatibility issue. Ref[2][3] concern of incompatibility when updating libraries.
  5. To reduce the library update problem, we visualize which combinations of library versions are popular among existing systems available on the Internet. we can not report actual incompatibility. but We assume popular use indicates a good combination of library versions. Our tool named VerX-Combo is a web-application working on a browser and a server. The server collects various programs available on GitHub and extracts library usage from their Maven configuration files. When a user selects some libraries, then the tool visualizes which versions of the libraries are combined in existing systems using parallel sets. Selecting a popular combination of latest library versions reduces the risk of incompatibility.
  6. Our tool visualizes library combinations as Parallel Sets. Now I will demonstrate how to read the Parallel sets visualization. (デモページへ) For example there are a system that uses 3 libraries A& B &C(point to ABC). All these libraries are represented as a horizontal bar parallel to each other Then, the bar is divided into each respective library versions. The link between each library version represent the freaqency count of systems that uses both library versions. The thickness represents popularity. The color represent different combination sets in reference to Library A. Our tool has several features for user interaction. Mouse over can be use to highlight and select interested libraries, For example, These lines correspond to the combination sets that include LibraryA version1.0.(point to LIbAver1) Our tool can also do Vertical and Horizontal Rearrangement(rearrangement) We can also sort by Popular Usage and Version(sort)
  7. We will now demonstrate how the tool can be used in a case scenario. Suppose, System “S” has dependencies with the Apache Commons-Collections and COMMONS-HTTPCLIENT In the next release of S, developer want to implement a new feature. the New feature involve adopting the Jodatime library. In this scenario user want to know what is the best jodatime version to use. S wants new feature of calender, the developer want to use jodatime library which can implement calender feature. Related library dependency is collections and httpclient. In this scenario user want to know what is the best-fit combination between the 3 libraries.
  8. In my demo , we show how our tool is able to provide answers to the following 3 questions What is the best fit combination of libraries. For this question we will use the current library versions in system S. For Q2 we want to know the most popular versions used by the crowd Finally for Q3 we want to know what is the most popular combination that is closest to the latest versions.
  9. First, we will load the data. (enter and load there libs) Next we will try to find the best fit. (3.1 So system S uses collections 3.2(point to 3.2) and http3.1(point to 3.1) From our tool we can see that joda-time version 1.4;1.6;2.0;2.2
  10. Next for Q2 We will use popularity sorting to find the most popular version(sort by popularity) As you can see popular combination is commons-collection version 3.2.1 and commons-httpclient version 3.1 &joda-time version 1.6
  11. Finally for Q3, We want to find the most popular which is closest to the latest versions of each library. For this we will sort by version.(sort by version) Also the thickness of lines provide indication of the recommended answer. In this case recommended version is jodatime version 2.2. note that our tool does not recommend the latest jodatime version 2.3. Developer can decide to use jodatime version 2.3, but this is not a popular crowd choice.
  12. Our tool uses wisdom of crowd to determine best-fit library update for large systems In our future work, We would like to extend 3 library combination to n combination, and now, we had collected direct dependency data. But we would like to explore transitive depenedencies. Thank you for your attention I invite you to visit our demo.
  13. The tool works on a web-browser interacting with the extracted dataset. A user selects libraries on a browser. Then the tool extracts a subset of library usage and visualizes the data using parallel sets.
  14. We determine best fit combination according to the two criteria. 1.Popularity First, We assume popular use by similar system indicates a favorable library versions. 2.Latest … we also consider sorting by latest versions. Using these two criteria we can find a best fit combination.
  15. Software is always changing So each time you have a new release that include bug fix or patches or new features or maintenance activities like refactoring also libraries are evolving to fix bugs or….
  16. ケース設定
  17. For our usage scenario we populate our tool using the github dataset.
  18. ライブラリは,自身のプロジェクトとは別に開発が進められ,機能の改善やバグの修正などが行われる.これに伴って新しいバージョンがリリースされていく. そのため,開発者にはライブラリのアップデートを行うかどうか,行う場合,どのライブラリのどのバージョンを利用するか,などの判断を行う必要がある.