Cross Language Clone Analysis Team 2 April 7, 2011.

Slides:



Advertisements
Similar presentations
T Project Review X-tremeIT I2 Iteration
Advertisements

The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
CS511 - Spring 2006 Final Presentation Project 3 - Team 1 Ching Chang Panagiotis Papapetrou Raymond Sweha.
U of R eXtensible Catalog Team MetaCat. Problem Domain.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
MapReduce : Simplified Data Processing on Large Clusters Hongwei Wang & Sihuizi Jin & Yajing Zhang
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Bret Juliano. Introduction What Documentation is Required? – To use a program – To believe a program – To modify a program The Flow-Chart Curse Self-Documenting.
OOSE 01/17 Institute of Computer Science and Information Engineering, National Cheng Kung University Member:Q 薛弘志 P 蔡文豪 F 周詩御.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Chapter 9 Describing Process Specifications and Structured Decisions
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
INTERPRETING IMPERATIVE PROGRAMMING LAGUAGES IN EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATIONS (XSLT) Authors: Ruhsan Onder Assoc.
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
1 © 2000 John Urrutia. All rights reserved. Qbasic Constructing Qbasic Programs.
5-1 Chapter 5 - Languages and the Machine Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer.
RMS Importer Status MACS Week March 2011 PP b-ABR_RMSImporterStatus Angela Brett RMS Importer Status 1.
Cross Language Clone Analysis Team 2 October 27, 2010.
Voice Recognition (Presentation 2) By: Priya Devi A. S/W Developer, Xsys technologies Bangalore.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Joey Paquet, Lecture 12 Review. Joey Paquet, Course Review Compiler architecture –Lexical analysis, syntactic analysis, semantic.
Feasibility Study Cross-language Clone Analysis Team 2.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
1.  10% Assignments/ class participation  10% Pop Quizzes  05% Attendance  25% Mid Term  50% Final Term 2.
5-1 Chapter 5 - Languages and the Machine Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Daisy Arias Math 382/Lab November 16, 2010 Fall 2010.
Cross Language Clone Analysis Team 2 October 13, 2010.
T Iteration Demo Team 13 I1 Iteration
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Team 1 Health Insurance Management System (HIMS).
Cross Language Clone Analysis Team 2 February 3, 2011.
Accomplishments  Getting larger portion of both Java and C# into CodeDOM to support cross language detections  Source code and statement line number.
Cross Language Clone Analysis Team 2 March 3, 2011.
Cross Language Clone Analysis Team 2 November 22, 2010.
Cross Language Clone Analysis Team 2 November 10, 2010.
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.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Language Implementation Overview John Keyser Spring 2016.
IConverter TEAM 1 Denesh Kumar Krishnan Rajaram Sumanth Meda Jayaprakash Kapil Vyas.
Introduction to Literate Programming in Matlab 2WN50 – Week programming-in-matlab.pptx?dl=0.
Vision using Wavelets CIS 541 Team 6 Presentation 6 Megan Enns Tim Weninger Brett Wolfington CIS 541 Team 6 Presentation 6 Megan Enns Tim Weninger Brett.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 18: Linked Lists.
Jython Environment For Students (JES) Final Presentation Team 3 David Raines Claire Bailey Jason Ergle Josh Sklare July 16,
An Algorithm for Detecting and Removing Clones in Java Code Nicolas Juillerat & Béat Hirsbrunner Pervasive and Artificial Intelligence ( ) Research Group,
Advanced Computer Systems
Original Implementation Approach proposed at March 2010 meeting
Dynamic structure modelling for Causal Block Diagrams
“Under the hood”: Angry Birds Maze
OPEN-O GS-O Planning Mercury Release
Cross Language Clone Analysis Team 2 November 22, 2010
Developing Applications
INTAKE OF NEW PORTFOLIO AND INVOICES
Unit# 9: Computer Program Development
Use of Mathematics using Technology (Maltlab)
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Java External Libraries & Case Study
Mutation Testing The Mutants are Coming! Copyright © 2017 – Curt Hill.
Virginia Lenvik Geography 375 Spring 2013
Compiler design Review COMP 442/6421 – Compiler Design
Presentation transcript:

Cross Language Clone Analysis Team 2 April 7, 2011

Parsing/CodeDOM Clone Analysis GUI Implementation Testing Current Status Path Forward 2

 Allen Tucker  Patricia Bradford  Greg Rodgers  Ashley Chafin 3

Parsing and conversion to CodeDOM 4

Accomplishments  Java and C# conversion into CodeDOM to support cross language detections are equal (see teal cells left)  Local variable statement in place for Java.  Not much progress this iteration. 5

I see ewe 6

7 Code Base CodeDOM Conversion Use Gold Parser for conversion Transformation Transform the CodeDOM elements into a sequence of tokens Processed Code Clone Analysis Run comparison algorithm on transformed code Transformed Code Clone Formatting Clone pair/class locations of the transformed code are mapped to the original code base by line numbers and file location Clone Match 0…*

8 Current Status  100 % complete with  Tokenization  Analysis  Formatting  Making progress on  Java into CodeDOM  C# into CodeDOM

9 Additions  Clone Match  Clone Type  Type 1 - An exact copy  Type 2 - A syntactically identical copy  Type 3 - A copy with further modifications  Fixed a handful (<10) bugs

How do you build the model? 10

11 Documentation TokenizeAnalyze Expressions25/25 Statements14/14 Other7/7 Total46/46 How are we using CodeDOM as a common code representation?

12 Documentation CodeDOM Expressions CodeArgumentReferenceExpression CodeDefaultValueExpression CodeBinaryOperatorExpression … 25 Java Expressions PreIncrementExpression MultiplicativeExpression ShiftExpression … 80+ C# Expressions PreIncrementExpression MultiplicativeExpression ShiftExpression … 80+

Sketches Old/New 13

14

15

16

17

18 Need to add legend

19 Need to implement grouping by other types. Language/File group

20

21

Demo 22

White Box and Black Box Testing 23

24  98/101 Unit Tests Currently Pass Failed based on recent change to tokenization technique for Labels to accommodate java and c# codeDOM conversion.

25

26

Path Forward for the next iteration 27

28  Below is a list of the tasks for our next iteration: ◦ Parsing/CodeDOM  Continue Java, C# conversion to CodeDOM ◦ Clone Analysis  Look at Performance Improvements ◦ GUI  Bug fixes /Enhancements  Project Properties Page  Preference Page  Performance Checks/Enhancements Next Iteration

29 ◦ Documentation  User Stories, Use Cases, UML Models, Sketches  Functional Tests  Update schedule  Language Plugin Development ◦ Testing  Unit tests  Execute functional tests  Record bugs/issues found Next Iteration