Individual Research Presentation

Slides:



Advertisements
Similar presentations
Using GET data within a IF Statement. If ($GETCom === ‘home’) { echo ’They Match’; } $GETCom = $_GET[‘com’]; If the data stored in the variable ($GETCom)
Advertisements

Welcome to. Who am I? A better way to code Design Patterns ???  What are design patterns?  How many are there?  How do I use them?  When do I use.
Clean code. Motivation Total cost = the cost of developing + maintenance cost Maintenance cost = cost of understanding + cost of changes + cost of testing.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Creative Commons Attribution-ShareAlike 3.0 Unported License - you may use and share this file, but please attribute it to
ITEC200 – Week03 Inheritance and Class Hierarchies.
Object-Oriented Reengineering Patterns and Techniques Prof. O. Nierstrasz Prof. S. Ducasse T.
Soft. Eng. II, Spring 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Reuse Reading: I. Sommerville, Chap. 20.
Creative Commons Attribution-ShareAlike 3.0 Unported License - you may use and share this file, but please attribute it to
 2003 Prentice Hall, Inc. All rights reserved Introduction Modules –Small pieces of a problem e.g., divide and conquer –Facilitate design, implementation,
Creative Commons Attribution-ShareAlike 3.0 Unported License - you may use and share this file, but please attribute it to
EngageNY.org ©2012 Core Knowledge Foundation. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Effectively Integrating Information Technology (IT) Security into the Acquisition Process Section 5: Security Controls.
Detecting software clones in binaries Zaharije Radivojević, Saša Stojanović, Miloš Cvetanović School of Electrical Engineering, Belgrade University 14th.
Information Systems Analysis and Design
Dr. Tom WayCSC Code Reviews & Inspections CSC 4700 Software Engineering.
Programming Language Rico Yu. Levels of Programming Languages 1.Low level languages 2.High level languages.
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University A clone detection approach for a collection of similar.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
O Supervisor : Dr. Harold Boley o Advisor : Dr. Tara Athan o Team : Simranjit Singh Pratik Shah Bijiteshwar R Aayush.
Objected Oriented Programming & Design JAVA Shishir Gupta (704) (704)
Cross Language Clone Analysis Team 2 October 27, 2010.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Applying Clone.
Cross Language Clone Analysis Team 2 April 7, 2011.
Feasibility Study Cross-language Clone Analysis Team 2.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
AutoTester & UAT Automation Framework By SSTZ-UAT.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Programming Languages and the Programming Process.
11 Version Control Systems Mauro Jaskelioff (originally by Gail Hopkins)
Incremental Design Why incremental design? Goal of incremental design Tools for incremental design  UML diagrams  Design principles  Design patterns.
With Jeff Gray and Ira Baxter Robert Tairas Visualization of Clone Detection Results Eclipse Technology Exchange Workshop OOPSLA 2006 Portland, Oregon.
Duplicate code detection using anti-unification Peter Bulychev Moscow State University Marius Minea Institute eAustria, Timisoara.
Deepening Our Understanding of Communities of Practice in Large-Scale Agile Development 凌杰甫.
Development with Eclipse Software Engineering Prof. Werner Krandick.
Wizards for the OMNeT++ IDE András Varga OMNeT++ Workshop March 19, 2010 Malaga, Spain.
Cross Language Clone Analysis Team 2 February 3, 2011.
1 Languages and Compilers (SProg og Oversættere) Bent Thomsen Department of Computer Science Aalborg University With acknowledgement to Wei-Tek Tsai who’s.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
Scalable Clone Detection and Elimination for Erlang Programs Huiqing Li, Simon Thompson University of Kent Canterbury, UK.
Object Oriented Software Development 4. C# data types, objects and references.
February 8, 2006copyright Thomas Pole , all rights reserved 1 Lecture 3: Reusable Software Packaging: Source Code and Text Chapter 2: Dealing.
NotetakR.ppt A template to assist students with note taking for school research projects Designed by Kevin Jarrett Original idea © Mike Eisenberg.
Cross Language Clone Analysis Team 2. Team Introduction Task Summary Introduction Scope of Work Description of Related Research Identification of User.
 Software Clones:( Definitions from Wikipedia) ◦ Duplicate code: a sequence of source code that occurs more than once, either within a program or across.
Cross Language Clone Analysis Team 2 February 3, 2011.
MojaveFS Lookup Vlad Dascalu, 351C3 – U.P. Bucharest Jason Hickey, Cristian Ţăpuş, David Noblet California Institute of Technology.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Instructional Design Center Editing Files Using Google Docs.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
GCE Software Systems Development AS Agreement Trial November 2015.
Meme Software provides software for developing websites in a self service mode and personal use. Meme Software provides the best and funny Meme PHP Scripts.
Introduction to FOSS. Classes of software  Operating System (OS)  Software that manages all the application programs in a computer  Manages the computer.
DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering,
Development with Eclipse
Week 4 Object-Oriented Programming (1): Inheritance
Chapter 25: Architecture and Product Lines
Software Maintenance PPT By :Dr. R. Mall.
Genome sequencing informatics
Low DEF Level Programmable Parameter Changes
The Linux Command Line Chapter 24
John D. McGregor Session 16 Where are we? Where are we going?
PPT and video are due no later than March 1, 2019
Chapter 4: Security Policies
Introduction Software maintenance:
Information Retrieval and Web Design
Eduphoria Forethought
Pyramid of Purpose Template
Presentation transcript:

Individual Research Presentation Software Clones Presented By: Adarsh Khare

Outline 1 Introduction Types of Clones Root Causes for Code Clones Strategies Tools Suggested Relating with 577a and 577b 1

Types of Clones 2 Type1 Type 2 Type 3 Exact copy without modifications Syntactically Identical Copy ( only variable, type, or function identifiers have been changes) Type 3 A copy with further modifications ( statements have been changes, added, or removed) 2

Root Causes 3 Programmers are forced to duplicate the code Programmers reuse the copied text as a template and then customize Time Pressure Organizational Issues ( e.g distributed development organizations) 3

Strategies 4 Clone Avoidance Clone Removal Clone Detection Better to avoid them at the beginning. Clone Removal Can be achieved using commercial tools Clone Detection 4

Tool Suggested ( Clone Removal) Let programmers copy and adjust, and then let tools factor out the differences with appropriate mechanisms. –Ira Baxter, 2002 Clone Dr 5

Features of the Tool Compares files exhaustively across whole systems Available for many different languages like PHP 4.0 & 5.0, C,C++, C# Supports analysis of thousands of files/millions of lines of code. 6

Relating with 577a and 577b 577a Start gathering knowledge about the tools. 577b Use the tools during “Development Phase”. 7

References 8 Clone Dr http://www.semdesigns.com/Products/Clone/ Survey Research and cloning https://www.google.com/search?q=software+cloning&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a http://drops.dagstuhl.de/volltexte/2007/962/pdf/06301.KoschkeRainer.962.pdf  http://www.tzi.de/st/papers/koschke-fosm-08.pdf 8

Thank You !