Boris Todorov1, Raula Gaikovina Kula2, Takashi Ishio2, Katsuro Inoue1

Slides:



Advertisements
Similar presentations
Function Point Measurement from Java Programs
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
By Jeremy Lyons  A quick reference tool for musicians in all fields  Free and easy to access  Updated and regulated through a University  Language.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
Investigating JAVA Classes with Formal Concept Analysis Uri Dekel Based on M.Sc. work at the Israeli Institute of Technology. To appear:
Senior Project Database: Design and Usability Evaluation Stephanie Cheng Rachelle Hom Ronald Mg Hoang Bao CSC 484 – Winter 2005.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Measuring Copying.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Industrial Application.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
Point of Need Assistance: Incorporating help pages and tutorials into Online Archival Resources Jane Scales, Distance Degree Librarian Washington State.
Top 10 Ways to Visualize Data with JReport 10.1 Tyler Wilchek Marketing Manager Jinfonet Software Rockville, MD Greg Harris Product Engineer Jinfonet Software.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Color in Design. Uses of Color Call attention to specific data or information Identify elements of structure and processes Portray natural objects realistically.
Yuki Manabe*, Daniel M. German†,‡ and Katsuro Inoue†
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A lightweight.
2006/09/19AOAsia 21 Towards Locating a Functional Concern Based on a Program Slicing Technique Takashi Ishio 1,2, Ryusuke Niitani 2 and Katsuro Inoue 2.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Do Practitioners.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Why Use MONAHRQ for Health Care Reporting? March 2015 Note: This is one of eight slide sets outlining MONAHRQ and its value, available at
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Extracting a Unified Directory Tree to Compare Similar Software Products Yusuke Sakaguchi, Takashi Ishio, Tetsuya Kanda, Katsuro Inoue Department of Computer.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Community Codes Free and shared resource Ongoing distributed development by both research and operational communities – Maintained under version control.
Plasma State Component. Software Status Current Version: 1.001; no recent updates. Implemented as 3 libraries layered over the NTCC library set: xplasma,
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection of License Inconsistencies in Free and.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Software Ingredients:
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Search-Based Peer Reviewers Recommendation in Modern Code Review 32 nd IEEE International Conference on Software Maintenance and Evolution (ICSME) 2016.
E- Patient Medical History System
SESRI Workshop on Survey-based Experiments
Naoya Ujihara1, Ali Ouni2, Takashi Ishio1, Katsuro Inoue1
Software Development, Quality and Documentation Tool
Color Theory in Web Design
Chapter 18 Maintaining Information Systems
System Design Ashima Wadhwa.
RECENT TRENDS IN METADATA GENERATION
Comparison of Social Networks by Likhitha Ravi
SESRI Workshop on Survey-based Experiments
MultiRefactor: Automated Refactoring To Improve Software Quality
Title: Validating a theoretical framework for describing computer programming processes 29 November 2017.
Software Prototyping Animating and demonstrating system requirements.
Task-based assessment of students’ computational thinking skills developed through visual programming or tangible coding environments Takam Djambong.
Network Visualization
A Generalized Model for Visualizing Library Popularity, Adoption, and Diffusion within a Software Ecosystem Raula Gaikovina Kula, Coen De Roover, Daniel.
○Yuichi Semura1, Norihiro Yoshida2, Eunjong Choi3, Katsuro Inoue1
Software Development, Quality and Documentation Tool
PROGRAMMING What is it?.
Apache Spark & Complex Network
Software Engineering Laboratory, Osaka University
Tatsuya Miyake Takashi Ishio Katsuro Inoue
Visualizing the Evolution of Systems and their Library Dependencies
Raula Gaikovina Kula, Daniel German, Takashi Ishio, Katsuro Inoue
Predicting Fault-Prone Modules Based on Metrics Transitions
Software Design Lecture : 9.
#GCDigital Design System
Yuhao Wu1, Yuki Manabe2, Daniel M. German3, Katsuro Inoue1
Daniel Kim Software Engineering Laboratory Professor Katsuro Inoue
Where Does This Code Come from and Where Does It Go?
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
Software Re-engineering and Reverse Engineering
Working towards a central Register : Simple, Complete and Widely Accessible September 29, 2010 Session no 5 - Register quality as a common task : Cooperation.
Why do we refactor? Technical Debt Items Versus Size: A Forensic Investigation of What Matters Hello everyone, I’m Ehsan Zabardast I am a PhD candidate.
PADLA: A Dynamic Log Level Adapter Using Online Phase Detection
The Data of Visualization
Near-Omniscient Debugging for Java Using Size-Limited Execution Trace
Presentation transcript:

SoL Mantra: Using Library Coexistence Coefficient to Visualize Update Opportunities Boris Todorov1, Raula Gaikovina Kula2, Takashi Ishio2, Katsuro Inoue1 Osaka University1 and NAIST2 Email: boris-t@ist.osaka-u.ac.jp

What is a Software Library? Developing software with Libraries (code reuse) Developing Software from Scratch 2

Problem Background Keeping Libraries up to Date Am I using the latest version of a library? Software System Software Developer / Maintainer If I update, what other libraries will be affected? Library repository Dependencies / Libraries

Previous Research (1/2) Kula et al: Visualized circularly a software’s dependencies with added historical data; Raula Gaikovina Kula and Coen De Roover and Daniel M. German and Takashi Ishio and Katsuro Inoue (2014). Visualizing the Evolution of Systems and Their Library Dependencies. In Second IEEE Working Conference on Software Visualization, VISSOFT 2014, Victoria, BC, Canada, September 29-30, 2014, pp. 127–136.

Previous Research (2/2) Yano et al: Visualized popular library version combinations to assist software maintenance; Yuki Yano and Raula Gaikovina Kula and Takashi Ishio and Katsuro Inoue (2015). VerXCombo: An interactive data visualization of popular library version combinations. In 23rd IEEE International Conference on Program Comprehension, ICPC 2015, Firenze, Italy, May 18-19, 2015, pp. 291–294.

Basic Concepts The Solar System Metaphor – we selected for our visualization the Orbital Layout powered by D3.Js as our main visualization technique, deriving that a software system is similar to the solar system. Software – the program whose dependencies to other libraries are our concern for visualization; Library – the programs used by the system or other libraries, forming library dependency directed graph; Coexistence coefficient (cc) – a binary relation between two libraries (nodes) in an ecosystem, where those two libraries are used by at least one common library or common system.

Coexistence Coefficient (cc) Library A – Q, D, J, F, E Library B – J, F, E, Z F E J Q A B CC𝐴 𝐵 = |𝑈𝑠𝑒𝑟𝑠 𝐴 ∩𝑈𝑠𝑒𝑟𝑠 𝐵| |𝑈𝑠𝑒𝑟𝑠 𝐴| D Z 6884 ∩3165 6884 = 3158 6884 ≈0.4587=45.87% Low cc score – safe to update High cc score – high complexity

Visual Elements Representations Core (sun) – in orange color and denotes the software system. Planets – direct representations of the libraries used by the software. Color – planets have 2 colors to identify the outdated flag and up-to-date flag – green and red. Rotation – represents an easier depiction of the outdated libraries. Moons – represent the coexisting libraries.

Demo Application Example Am I using the latest version of a library? If I update, what other libraries will be affected?

SoL Mantra General Comprehension Survey Conducted a survey using google forms with 19 participants in total. Survey Goals – test tool comprehension amongst inexperienced audience and how well users understand the coexistence logic. Survey Q1 – Is the tool intuitive and easy to use? Survey Q2 – Do the users understand coexistence?

Survey Results – General Information General participants data collection: Age: 25-30 (52.6%), 18-24(31.6%) Affiliation: mostly students Used coding language: Java and Python (31.6%)

Survey results – Basic Comprehension Questions General comprehension tasks 3 simple questions regarding our visual cues: What is the system represented – 100% answered correctly How many libraries does the software system use – 94.7% How many libraries are outdated (if any) – 94.7%

Survey SoL Mantra – “stripe”

Coexistence Coefficient Comprehension Results – Case “mocha” Further Investigate Safe to update

Coexistence Coefficient Comprehension Results – Case “eslint” Further Investigate Safe to update

Post Task Survey Results – Is the tool intuitive or not? Natural Counter-intuitive

Post Task Survey Results – Was the tool easy to understand? Difficult/ Confusing Very easy

Threats to Validity Collected data is based on established projects. The tested projects could have specific reasoning for the version used that we are unaware. Survey participants count (19). Survey users are mostly students that don’t have experience in the field.

Summary We created the SoL Mantra tool to visualize library update complexity. We deployed an online survey to validate the usefulness and readability of our tool amongst inexperienced users.