Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An.

Similar presentations


Presentation on theme: "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An."— Presentation transcript:

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 3 rd 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, [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 Update Joda-Time Ver. ? 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!

14 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Tool Architecture 14

15 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Library combination as Parallel Sets We determine best-fit according to 1.Popularity 2.Latest release version 15

16 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Evolution and Maintenance Software is always changing –Fix bugs –New features –Software maintenance Library also require updates –New versions library also change 16

17 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Real world Scenario 17

18 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Dataset Library dependency dataset – Make a dataset by analyzing Projects in GitHub 18

19 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Evolution Release new versions –New features –Bug fix System Maintainer needs to decide `if’, `when’ and `what to update?’ 19


Download ppt "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An."

Similar presentations


Ads by Google