+ All Categories
Home > Technology > Version control thesis

Version control thesis

Date post: 21-Jun-2015
Category:
Upload: waleed-mohamed
View: 762 times
Download: 1 times
Share this document with a friend
Description:
this is the thesis presentation of my master degree in 31-12-2009
Popular Tags:
60
Version Control Dr-Ahmed Abou El-Fetouh Saleh Dr-Samir El-Desouky El-Mougy Information System Department, Faculty of computers and Information Systems Mansoura university Computer Science Department, Faculty of computers and Information Systems Mansoura university By Researcher: Waleed Mohamed Mahmoud Al-Adrousy Computer Science Department, Faculty of computers and Information Systems Mansoura University
Transcript
Page 1: Version control thesis

Version Control

Dr-Ahmed Abou El-Fetouh SalehDr-Samir El-Desouky El-Mougy

Information System Department,Faculty of computers and Information Systems

Mansoura university

Computer Science Department,Faculty of computers and Information Systems

Mansoura university

By Researcher:Waleed Mohamed Mahmoud Al-Adrousy

Computer Science Department,Faculty of computers and Information Systems

Mansoura University

Page 2: Version control thesis

2

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 3: Version control thesis

3

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 4: Version control thesis

4

Version Control Definition● Network based system ● Controls access to computer files ● Track modifications for current and back-up

files● Tracks History.● Synchronizes Concurrent Access to files.

Page 5: Version control thesis

5

How Version Control work?

Page 6: Version control thesis

6

Without Version Control

Page 7: Version control thesis

7

With version control (Lock-Modify-Unlock) Model

Page 8: Version control thesis

8

With version Control(Copy-Modify-Merge) Model

Page 9: Version control thesis

9

(Copy-Modify-Merge) Model (Cont.)

Page 10: Version control thesis

10

Version Control Types

Page 11: Version control thesis

11

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 12: Version control thesis

12

Objectives● Part 1

– Better load balancing based on behavior analysis.– Optimization of synchronization process.– Dynamic clustering of work.– Compromise centralized and distributed models.

● Part 2– Grammar based difference calculation.– Difference computation speed.– Adding on-line support for syntax differencing.– Application on java language.

Page 13: Version control thesis

13

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 14: Version control thesis

14

Previous works

Technologies:● File Sharing Protocols:

– FTP● File Synchronization Protocols

– WebDav– DeltaV– RSync Algorithm– IP-RSync

● Basically need Network protocol level support

Page 15: Version control thesis

15

Previous Work (Continue)● Dick Grune in 1986 (CVS)● CollabNet Inc in 2000 (subversion)● Peer to peer (P2P) technolgies in late 1990s

Page 16: Version control thesis

16

Previous Work (Cont.)● Language Modeling is :

internal source code representation for processing ● Some famous language modeling techniques:

Famix Model XML representation standard of java source code JavaML standard

Page 17: Version control thesis

17

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 18: Version control thesis

18

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 19: Version control thesis

19

First Part Semi Distributed Version Control

Using Web Data Mining

Page 20: Version control thesis

20

Part 1 Objectives ● Better load balancing based on behavior analysis.● Optimization of synchronization process.● Dynamic clustering of work.● Getting both advantages of centralized and

distributed models.

Page 21: Version control thesis

21

Suggested Architecture

Page 22: Version control thesis

22

Case Study

Page 23: Version control thesis

23

Web Data Mining● Definition...● 3 Types of Algorithms:

– Centrality and Closeness – Ranking– Clustering

Page 24: Version control thesis

24

Graph● Definition:

a set of vertices and a set of edges . Edges are specified as a pair, (v1, v2), where v1 and v2 are two vertices in the graph. A vertex can also have a weight, sometimes also called a cost.

● Types– Directed → like project dependencies– Undirected → like communication between developers

Page 25: Version control thesis

25

Simple Clustering Algorithm

Page 26: Version control thesis

26

Simple Clustering Algorithm(Cont.)

Page 27: Version control thesis

27

Structured Similarity Algorithm

Page 28: Version control thesis

28

Structured Similarity Algorithm (Cont.)

Page 29: Version control thesis

29

Semi-Distributed Architecture Algorithm

Page 30: Version control thesis

30

Page 31: Version control thesis

31

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 32: Version control thesis

32

Second PartStructured Differencing For Web

Based Version Control

Page 33: Version control thesis

33

Existing Differencing Algorithms Structure BasedLine Based Comparison

DiffX, Xdiff and Xydiff LCS Example

StructureLineComparison unit

HardEasyImplementation Difficulty

Deals with it

(helpful for developers)Ignores it

Dealing with logical nature of code that consists of

(classes, methods, objects,...etc)

Page 34: Version control thesis

34

Part 2 Objectives● Adding grammar based difference calculation.● Enhancing difference computation speed.● Adding on-line support for syntax differencing.● Application on java language.

Page 35: Version control thesis

35

Abstract Syntax Tree (AST)● Important for parsers to model source code as

structure instead of plain text/lines● Many parser generators for java , ANTLR is chosen

Page 36: Version control thesis

36

XML Standard● Known Structured data representation format.● Used widely for interoperability ● Used in many protocols in Internet and web

services.

Page 37: Version control thesis

37

Convert AST to XML

Page 38: Version control thesis

38

Differencing● Changes can be:

– ADD– Delete– Modify – Move

Page 39: Version control thesis

39

Syntax aware Differencing Algorithm

Page 40: Version control thesis

40

Syntax aware Differencing Algorithm (Cont.)

Page 41: Version control thesis

41

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 42: Version control thesis

42

Simulation Results● Two Subsystems are simulated

– Semi-structured version controlJfreeChart, Jung,MyJTable, and Piccolo Tools

– Syntax Aware Diff For Web Based Version Control Systems

AJAX, GWT, XML, ANTLR, JDOM, XML unit and java servlets

● Note : the following results are based on custom simulation not real-life data according to limitation of human team to apply tests .

Page 43: Version control thesis

43

Part 1 Results

Page 44: Version control thesis

44

Page 45: Version control thesis

45

Page 46: Version control thesis

46

Page 47: Version control thesis

47

Page 48: Version control thesis

48

Part 2 Results

Page 49: Version control thesis

49

Page 50: Version control thesis

50

Page 51: Version control thesis

51

Page 52: Version control thesis

52

Page 53: Version control thesis

53

Page 54: Version control thesis

54

Page 55: Version control thesis

55

Agenda● Version Control introduction● Objectives● Previous work● Applied Algorithms and Technologies:

– Suggested load balancing architecture– Suggested Differencing Algorithm

● Testing results.● Future work

Page 56: Version control thesis

56

Future work

Page 57: Version control thesis

57

Part 1 Future work (for our semi-distributed proposed algorithm)

● Making a real-world case study.● Integration with coding Environment- IDE.● Considering some aspects like security and backup.● Testing in many network platforms on

heterogeneous devices.

Page 58: Version control thesis

58

Part 2 Future work(Syntax-Aware Differencing)

● Merge the semi-distributed algorithm with differencing algorithm.● Reduce the long representation of short Java source code.● Enhance the readability of the differencing results.● Integrate with an existing IDE● Enhance the Visualization of Graphical user Interface (GUI) of the web tool.● Enhance the used model of asynchronous web page design (Rich Online

IDE).● Develop as a web service.● Port this algorithm to other languages rather than Java by replacing the

modeling part to read the other language grammar.

Page 59: Version control thesis

59

Word For History

Page 60: Version control thesis

60

Thanks


Recommended