version control thesis
DESCRIPTION
this is the thesis presentation of my master degree in 31-12-2009TRANSCRIPT
![Page 1: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/5.jpg)
5
How Version Control work?
![Page 6: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/6.jpg)
6
Without Version Control
![Page 7: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/7.jpg)
7
With version control (Lock-Modify-Unlock) Model
![Page 8: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/8.jpg)
8
With version Control(Copy-Modify-Merge) Model
![Page 9: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/9.jpg)
9
(Copy-Modify-Merge) Model (Cont.)
![Page 10: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/10.jpg)
10
Version Control Types
![Page 11: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/19.jpg)
19
First Part Semi Distributed Version Control
Using Web Data Mining
![Page 20: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/21.jpg)
21
Suggested Architecture
![Page 22: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/22.jpg)
22
Case Study
![Page 23: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/23.jpg)
23
Web Data Mining● Definition...● 3 Types of Algorithms:
– Centrality and Closeness – Ranking– Clustering
![Page 24: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/25.jpg)
25
Simple Clustering Algorithm
![Page 26: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/26.jpg)
26
Simple Clustering Algorithm(Cont.)
![Page 27: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/27.jpg)
27
Structured Similarity Algorithm
![Page 28: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/28.jpg)
28
Structured Similarity Algorithm (Cont.)
![Page 29: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/29.jpg)
29
Semi-Distributed Architecture Algorithm
![Page 30: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/30.jpg)
30
![Page 31: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/32.jpg)
32
Second PartStructured Differencing For Web
Based Version Control
![Page 33: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/37.jpg)
37
Convert AST to XML
![Page 38: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/38.jpg)
38
Differencing● Changes can be:
– ADD– Delete– Modify – Move
![Page 39: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/39.jpg)
39
Syntax aware Differencing Algorithm
![Page 40: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/40.jpg)
40
Syntax aware Differencing Algorithm (Cont.)
![Page 41: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/43.jpg)
43
Part 1 Results
![Page 44: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/44.jpg)
44
![Page 45: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/45.jpg)
45
![Page 46: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/46.jpg)
46
![Page 47: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/47.jpg)
47
![Page 48: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/48.jpg)
48
Part 2 Results
![Page 49: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/49.jpg)
49
![Page 50: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/50.jpg)
50
![Page 51: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/51.jpg)
51
![Page 52: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/52.jpg)
52
![Page 53: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/53.jpg)
53
![Page 54: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/54.jpg)
54
![Page 55: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/55.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/56.jpg)
56
Future work
![Page 57: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/58.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/59.jpg)
59
Word For History
![Page 60: Version control thesis](https://reader034.vdocuments.net/reader034/viewer/2022042715/558656aad8b42ac23e8b457d/html5/thumbnails/60.jpg)
60
Thanks