Where Does This Code Come from and Where Does It Go?

Slides:



Advertisements
Similar presentations
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
Advertisements

Input Data Warehousing Canada’s Experience with Establishment Level Information Presentation to the Third International Conference on Establishment Statistics.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Evolutional Analysis.
1 Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,**
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
SwE 313 Introduction to Rational Unified Process (RUP)
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Measuring Copying.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Industrial Application.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Where Does This.
Implementation of HUBzero as a Knowledge Management System in a Large Organization HUBBUB Conference 2012 September 24 th, 2012 Gaurav Nanda, Jonathan.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Yuki Manabe*, Daniel M. German†,‡ and Katsuro Inoue†
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University DCCFinder: A Very- Large Scale Code Clone Analysis.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A clone detection approach for a collection of similar.
An Adaptive Version-Controlled File System Makoto Matsushita, Tetsuo Yamamoto and Katsuro Inoue Osaka University, JAPAN.
Contents HADOOP INTRODUCTION AND CONCEPTUAL OVERVIEW TERMINOLOGY QUICK TOUR OF CLOUDERA MANAGER.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University How to extract.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University VerXCombo: An.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Development of.
Lecture 8: 9/19/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
Carolina Environmental Program 1 UNC Chapel Hill A New Control Strategy Tool within the Emissions Modeling Framework Alison M. Eyth Carolina Environmental.
WEEK INTRODUCTION CSC426 SOFTWARE ENGINEERING.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Automatically detecting and describing high level actions within methods Presented by: Gayani Samaraweera.
Extracting a Unified Directory Tree to Compare Similar Software Products Yusuke Sakaguchi, Takashi Ishio, Tetsuya Kanda, Katsuro Inoue Department of Computer.
1 Measuring Similarity of Large Software System Based on Source Code Correspondence Tetsuo Yamamoto*, Makoto Matsushita**, Toshihiro Kamiya***, Katsuro.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University An Empirical Study of Out-dated Third-party Code.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Classification.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
© SERG Reverse Engineering (REportal) REportal: Reverse Engineering Portal (reportal.cs.drexel.edu)
What kind of and how clones are refactored? A case study of three OSS projects WRT2012 June 1, Eunjong Choi†, Norihiro Yoshida‡, Katsuro Inoue†
Recent Enhancements to Quality Assurance and Case Management within the Emissions Modeling Framework Alison Eyth, R. Partheepan, Q. He Carolina Environmental.
1 TCS Confidential. 2 In this session we will be learning:  What is Rally?  Why Rally?  Use cases  Actions  Architecture  Components.
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:
Shadow Shadow of a Doubt: Testing for Divergences Between Software Versions Hristina PalikarevaTomasz KuchtaCristian Cadar ICSE’16, 20 th May 2016 This.
(Atlassian) Software Development tools used in BE/CO Jira, Bamboo, Fisheye+Crucible, Clover
Introduction to FOSS. Classes of software  Operating System (OS)  Software that manages all the application programs in a computer  Manages the computer.
Yasuhiro Hayase†, Yu Kashima‡, Yuki Manabe‡, Katsuro Inoue‡
Linux Optimization Kit Many developers need to get a performance increase from their Linux OS Linux OK allows users to achieve higher performance.
 2001 Prentice Hall, Inc. All rights reserved.
Software Configuration Management CSC-532
Proposed IT Infrastructure for TOP OS project
Source File Set Search for Clone-and-Own Reuse Analysis
3D Tetris Game on Android OS
The evolution of the SDMX infrastructure and services
Applied Software Implementation & Testing
A UNIX OPERATING SYSTEM
○Yuichi Semura1, Norihiro Yoshida2, Eunjong Choi3, Katsuro Inoue1
Boris Todorov1, Raula Gaikovina Kula2, Takashi Ishio2, Katsuro Inoue1
Compilers, Make and SubVersion
Chapter 2: The Linux System Part 1
Predicting Fault-Prone Modules Based on Metrics Transitions
Computer software 2.
Quaid-i-Azam University
Working with Spark With Focus on Lab3.
Yuhao Wu1, Yuki Manabe2, Daniel M. German3, Katsuro Inoue1
Daniel Kim Software Engineering Laboratory Professor Katsuro Inoue
Getting Started With Solr
Dotri Quoc†, Kazuo Kobori†, Norihiro Yoshida
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
MAPO: Mining and Recommending API Usage Patterns
Computer Applications -Generic Elective
Presentation transcript:

Where Does This Code Come from and Where Does It Go? - Integrated Code History Tracker for Open Source Systems – Katsuro Inoue, Yusuke Sasaki, Pei Xia, and Yuki Manabe Osaka University Osaka, Japan {inoue, peixia, y-manabe}@ist.osaka-u.ac.jp Software Engineering (ICSE), 2012 34th International Conference on

Outline Introduction Approach Processes Experiment Summary Future work

Introduction To reuse an open source code file We do not know much about the original project If we could safely and effectively reuse it? How to make a decision to reuse it?

Approach

Approach

Processes

Experiment - Texture.java 1,600 LOC Java File Define a graphic texture object Developed by jMonkeyEngine Popularly used by many 3D games Input Query Q qc : overall source code qa : the file name“texture.java”

Experiment - Texture.java

Experiment - Texture.java

Experiment - Texture.java

Experiment - Texture.java Texture.java code evolves along with the project progress Each version of Texture.java is copied to many other projects,which are identified as similar files in Clusters A, B, and C Cluster C, there are 6 file exactly the same as the query code One outlier project #25

Experiment – kern_malloc.c Is a C function Allocates a specified-size memory block in th kernel Fairly old Taken over and maintained by many other various projects Input Query Q qc : overall source code qa : the file name“texture.java” No SPARS/R

Experiment – kern_malloc.c

Experiment – kern_malloc.c

Experiment – kern_malloc.c

Experiment – kern_malloc.c The cover ratio of the output results diverges along the time scale No clear cluster of similar results Many variations of different code fragments Many small changes among the projects All of these results are under BSD License Overview the evolution of a core part of Unxi OS kernel code

Experiment - SSHTools SSHTools Input Query Q A suite of java SSH applications Providing a java SSH API,terminal Input Query Q qc : 339 files of the latest version 0.2.9 qa : file names Ignoring some tiny sized files A threshold of the cover ration 0.4

Experiment - SSHTools

Experiment - SSHTools

Experiment - SSHTools Many different ancestor projects SSHTools is a collection of various tools Donated by different projects Their licenses and copyrights had been modified

Future work Improve the performance and usability Explore a unified approach of local repositories and Internet repositories Use the search results as the new searche queries Tracking such code chain

Thanks! Q&A