Department of Computer Science, Graduate School of Information Science & Technology, Osaka University An Empirical Study of Out-dated Third-party Code.

Slides:



Advertisements
Similar presentations
Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Identifying Source.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Extraction of.
SAFETYCHECK Eric Hatch | David Allen |Bailee Lucas| Austin Rhodes.
Choosing SATE Test Cases Based on CVEs Sue Wang October 1, 2010 The SAMATE Project 1SATE 2010 Workshop.
Benjamin J. Deaver Advisor – Dr. LiGuo Huang Department of Computer Science and Engineering Southern Methodist University.
Removing Spyware Cleaning Up Your Computer. Pin Point the Problem Is Your Computer Not Running Properly? Are You Sure That the Problem is Spyware? Observe.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Detecting Logic Vulnerabilities in E- Commerce Applications Presenter: Liu Yin Slides Adapted from Fangqi Sun Computer Science Department College of.
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.
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.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Where Does This.
Lecturer: Ghadah Aldehim
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University CoxR: Open Source.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Finding Similar.
Yuki Manabe*, Daniel M. German†,‡ and Katsuro Inoue†
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Kinds of.
University of Maryland Bug Driven Bug Finding Chadd Williams.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A Criterion for.
Software Engineering CS3003
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Investigation.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A clone detection approach for a collection of similar.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University What Do Practitioners.
Detection and Prevention of Buffer Overflow Exploit Cai Jun Anti-Virus Section Manager R&D Department Beijing Rising Tech. Corp. LTD.
SZZ – An overview David Bowes University of Hertfordshire.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A Method to Detect License Inconsistencies for Large-
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Detection and evolution analysis of code clones for.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Inoue Laboratory Eunjong Choi 1 Investigating Clone.
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 Development of.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Retrieving Similar Code Fragments based on Identifier.
This is a work of the U.S. Government and is not subject to copyright protection in the United States. The OWASP Foundation OWASP AppSec DC October 2005.
Copyright © 2015 NTT DATA Corporation Kazuo Kobori, NTT DATA Corporation Makoto Matsushita, Osaka University Katsuro Inoue, Osaka University SANER2015.
Intrusion Detection on a Shoestring Budget Shane Williams UT Austin Graduate School of Library and Information Science Oct. 18, 2000 SANS Network Security.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Software Tag:
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.
+ Moving Targets: Security and Rapid-Release in Firefox Presented by Carlos Bernal-Cárdenas.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Classification.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
What kind of and how clones are refactored? A case study of three OSS projects WRT2012 June 1, Eunjong Choi†, Norihiro Yoshida‡, Katsuro Inoue†
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:
Conceptual Overview For Understanding the New Paradigm Provided by: Web Services Section.
Version Control Systems CS222 Baris Aktemur. Software Development Software development is done in teams Team members are in separate physical locations.
Information Systems and Network Engineering Laboratory II
Source File Set Search for Clone-and-Own Reuse Analysis
11 Version control (part 2)
Version Control.
OpenSAF Developer Days 2008 OpenSAF Release Management Session 15-07
5.0 : Windows Operating System
CBCD: Cloned Buggy Code Detector
UNIT 15 Webpage Creator.
Fix iTunes Error 11 Give a Ring on: Apple Mac Customer Support.
INPE, São José dos Campos (SP), Brazil
○Yuichi Semura1, Norihiro Yoshida2, Eunjong Choi3, Katsuro Inoue1
Design and Programming
Predicting Fault-Prone Modules Based on Metrics Transitions
Cs212: DataStructures Computer Science Department Lab 3 : Recursion.
Version Control at Google
Yuhao Wu1, Yuki Manabe2, Daniel M. German3, Katsuro Inoue1
Where Does This Code Come from and Where Does It Go?
Software Testing Software Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements.
Presentation transcript:

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University An Empirical Study of Out-dated Third-party Code in Open Source Software Pei Xia Inoue Lab 2013/02/12 1

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Third-party Code in OSS Developers reuse 3rd-party code from existing open source projects [1] [1] S.Haefliger, G.Krogh, S.Spaeth, “Code Reuse in Open Source Software”, Management Science, Vol.54 No.1 Jan.2008 reuse zlib libpng libjpeg libxml2 …… openssl 2 User project

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Out-dated Third-Party Code Third-party code of older versions containing known defects such as software vulnerabilities that should be fixed by upgrading them to a newer version reuse v1.0 v1.1 v1.2v2.0 v2.1 Timeline 3rd-party project bug 3 User project No Existing Research

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Research Questions What is the proportion of out-dated 3rd-party code reused in the open source software? What are the potential defects caused by such reuse? How do user projects manage those out- dated 3rd-party code? Be helpful in understanding OSS reuse activities, evaluating the quality of OSS and predicting some of the potential defects 4

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Study Approach Overview 5 rep v1.0 v1.1 v1.2v2.0 v2.1 Timeline 3rd-party project bug 1.Defects Information Collection 2.Projects Searching 3.Version Identifying 4.Management Information Collection

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Step 1 : Defects Information Collection Home page announcement National Vulnerability Database [2]  The U.S. Government repository of standards based vulnerability management data [2] National Vulnerability Database, 6

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Step 2 : Projects Searching Using OpenCCFinder [3] to Search [3] P. Xia, Y. Manabe, N. Yoshida, and K. Inoue. Development of a code clone search tool for open source repositories. Technical report, IPSJ SIG Technical Reports, Vol.2011-SE-174, No2,pp.1-8,

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University v2.1 Step 3 : Version Identifying rep v1.0 v1.1 v1.2v2.0 V2.1 Timeline Third-party project Tokenized file hash // some comment public static void main(){ int a=0; a=a+1; } publicstaticvoid$(){int$=$;$=$+$;} rep User project 1 User project 2 Latest ver match Tokenization Hashing v1.1 v2.0 8

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Step 4 : Management Information Collection Questions on reused 3rd-party code  Modified or Copy&Paste?  Keep updating?  Well managed? Manual investigation  Directory structure and file name  Repository commit history  readme.txt  changelog.txt 9

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case study Subject Project NameDomainProject History zlibData compression1995-current libcurlFile transfer1999-current libpngGraphics1995-current 10

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case Study Result (1/5) What is the proportion of out-dated 3rd-party code reused in the open source software? 11 libpng (50) Reused Versions of 3 rd -party code # Projects using 3 rd -party code Vulnerabilities reported Warning from hompageNo defects reported

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case Study Result (2/5) What is the proportion of out-dated 3rd-party code reused in the open source software? # investigated projects # projects contain out- dated 3rd-party code Out-date code Percentage zlib % libcurl % libpng % total % 12

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case Study Result (3/5) What are the potential defects caused by such reuse? zlib versionReported defects v1.1.3CVE VU# CA v1.1.4CVE VU# v1.2.1 v1.2.2CVE VU# v1.2.1 v1.2.2CVE VU# v1.2.2CVE v1.2.4Bug Fixed. Update suggestion from project homepage Example CVE : inftrees.h in zlib allows remote attackers to cause a denial of service (application crash) via an invalid file that causes a large dynamic tree to be produced. 13

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case Study Result (4/5) How do user projects manage those out- dated 3rd-party code? 14

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Case Study Result (5/5) How do user projects manage those out- dated 3rd-party code?  96 (78.0%) of user projects reused the third- party code with copy and paste  6 (4.9%) of user projects changed directory names or mix the third-party code with other code 15

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Conclusion In this study, 68.3% of open source software are reusing out-dated third-party code which contain critical defects. More than half of the open source projects did not manage the third-party code very well. 16

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Future work Develop a 3rd-party code manage system  Version identifying  Defects prediction  Automatically Updating 17

Department of Computer Science, Graduate School of Information Science & Technology, Osaka University Q&A 18