SlideShare a Scribd company logo
Version Control

                                   By Researcher:
                         Waleed Mohamed Mahmoud Al-Adrousy


                                Computer Science Department,
                        Faculty of computers and Information Systems
                                     Mansoura University


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


        Computer Science Department,                  Information System Department,
Faculty of computers and Information Systems   Faculty of computers and Information Systems
             Mansoura university                            Mansoura university
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    2
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    3
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.




                                                  4
How Version Control work?




                            5
Without Version Control




                          6
With version control
(Lock-Modify-Unlock) Model




                             7
With version Control
(Copy-Modify-Merge) Model




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




                                    9
Version Control Types




                        10
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    11
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.
                                                                 12
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    13
Previous works
    Technologies:
●   File Sharing Protocols:
         –   FTP
●   File Synchronization Protocols
         –   WebDav
         –   DeltaV
         –   RSync Algorithm
         –   IP-RSync
●   Basically need Network protocol level support

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




                                                   15
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




                                                              16
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    17
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    18
First Part
Semi Distributed Version Control
   Using Web Data Mining




                                   19
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.




                                                        20
Suggested Architecture




                         21
Case Study




             22
Web Data Mining
●   Definition...
●   3 Types of Algorithms:
        –   Centrality and Closeness
        –   Ranking
        –   Clustering




                                       23
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




                                                                          24
Simple Clustering Algorithm




                              25
Simple Clustering Algorithm(Cont.)




                                     26
Structured Similarity Algorithm




                                  27
Structured Similarity Algorithm
            (Cont.)




                                  28
Semi-Distributed Architecture
         Algorithm




                                29
30
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    31
Second Part
Structured Differencing For Web
     Based Version Control




                                  32
Existing Differencing Algorithms
       Comparison             Line Based      Structure Based


         Example                 LCS        DiffX, Xdiff and Xydiff



     Comparison unit             Line             Structure


Implementation Difficulty        Easy               Hard



Dealing with logical nature
 of code that consists of                       Deals with it
                              Ignores it
    (classes, methods,                     (helpful for developers)
       objects,...etc)


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




                                                      34
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




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




                                                   36
Convert AST to XML




                     37
Differencing
●   Changes can be:
        – ADD
        – Delete
        – Modify
        – Move




                                  38
Syntax aware Differencing Algorithm




                                  39
Syntax aware Differencing Algorithm
              (Cont.)




                                  40
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    41
Simulation Results
●   Two Subsystems are simulated
        –   Semi-structured version control
            JfreeChart, 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 .

                                                                      42
Part 1 Results




                 43
44
45
46
47
Part 2 Results




                 48
49
50
51
52
53
54
Agenda
●   Version Control introduction
●   Objectives
●   Previous work
●   Applied Algorithms and Technologies:
        –   Suggested load balancing architecture
        –   Suggested Differencing Algorithm
●   Testing results.
●   Future work
                                                    55
Future work




              56
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.




                                                         57
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.



                                                                               58
Word For History




                   59
Thanks




         60

More Related Content

PPTX
Soleil: A Component Framework for RTSJ
PDF
COMPSAC 2008 Presentation
PPT
Rejunevating software reengineering processes
PDF
Automatically bridging UML profiles into MOF metamodels
PDF
Accelerating system verilog uvm based vip to improve methodology for verifica...
PDF
safety assurence in process control
PDF
[2015/2016] AADL (Architecture Analysis and Design Language)
PDF
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...
Soleil: A Component Framework for RTSJ
COMPSAC 2008 Presentation
Rejunevating software reengineering processes
Automatically bridging UML profiles into MOF metamodels
Accelerating system verilog uvm based vip to improve methodology for verifica...
safety assurence in process control
[2015/2016] AADL (Architecture Analysis and Design Language)
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...

Viewers also liked (20)

PPTX
Social Media Strategy: Pizza House
PDF
Chapple, R. M. 2014 Grey Point Fort, Co. Down. 3D images. Blogspot post
PDF
Chapple, R. M. 2014 Greyabbey, Co. Down. The Abbey. 3D images. Blogspot post
PDF
Chapple, R. M. 2014 Review - Rewriting the (Pre)history of Ulster- A synthesi...
PDF
Proxibity - proximity based payments
PPTX
I beacons 101
PPT
Synergy between manet and biological swarm systems
PDF
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...
PDF
Chapple, R. M. 2014 Crumlin Rd. Gaol, Belfast. 3D. Blogspot post
PDF
Three Sides Live | Professor Etienne Rynne Lectures | October 1994 | Part I
PDF
Chapple, R. M. 2014 Crumlin Rd. Gaol, Belfast. Blogspot post
PDF
Chapple, R. M. 2014 Greyabbey, Co. Down. The Graveyard. Blogspot post
PDF
Chapple, R. M. 2011 'Was the building boom so bad for Irish archaeology? A re...
PDF
Chapple, R. M. 2012 'Bubbling over: archaeological lipid analysis and the Iri...
PPTX
How to make money on Facebook & Twitter using PeeqSee
PDF
Chapple, R. M. 2014 Holywood Priory, Co. Down. Blogspot post
PDF
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...
PDF
Chapple, R. M. 2014 Greyabbey, Co. Down. The Abbey. Blogspot post
Social Media Strategy: Pizza House
Chapple, R. M. 2014 Grey Point Fort, Co. Down. 3D images. Blogspot post
Chapple, R. M. 2014 Greyabbey, Co. Down. The Abbey. 3D images. Blogspot post
Chapple, R. M. 2014 Review - Rewriting the (Pre)history of Ulster- A synthesi...
Proxibity - proximity based payments
I beacons 101
Synergy between manet and biological swarm systems
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...
Chapple, R. M. 2014 Crumlin Rd. Gaol, Belfast. 3D. Blogspot post
Three Sides Live | Professor Etienne Rynne Lectures | October 1994 | Part I
Chapple, R. M. 2014 Crumlin Rd. Gaol, Belfast. Blogspot post
Chapple, R. M. 2014 Greyabbey, Co. Down. The Graveyard. Blogspot post
Chapple, R. M. 2011 'Was the building boom so bad for Irish archaeology? A re...
Chapple, R. M. 2012 'Bubbling over: archaeological lipid analysis and the Iri...
How to make money on Facebook & Twitter using PeeqSee
Chapple, R. M. 2014 Holywood Priory, Co. Down. Blogspot post
Chapple, R. M. 2014 Archaeology of Gatherings Conference. Institute of Techno...
Chapple, R. M. 2014 Greyabbey, Co. Down. The Abbey. Blogspot post
Ad

Similar to Version control thesis (20)

KEY
On the Relationship Between Change Coupling and Software Defects
PDF
SSBSE10.ppt
PPTX
Interview preparation net_asp_csharp
PPTX
Interview preparation data_science
PPTX
Interview preparation full_stack_java
PPTX
Chapter Introductionn to distributed system .pptx
PDF
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
PPTX
TASK AND DATA PARALLELISM in Computer Science pptx
PDF
ERA - Clustering and Recommending Collections of Code Relevant to Task
PDF
Anomalous symmetry succession for seek out
PPTX
Version control, issue tracking and communication
PDF
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
PDF
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
PDF
Cloud is such stuff as dreams are made on
KEY
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
PDF
CRC Conference proceedings
PDF
3 f6 9_distributed_systems
PDF
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
PDF
Secondary data analysis with digital trace data
PDF
Botbeans CISTI 2011
On the Relationship Between Change Coupling and Software Defects
SSBSE10.ppt
Interview preparation net_asp_csharp
Interview preparation data_science
Interview preparation full_stack_java
Chapter Introductionn to distributed system .pptx
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
TASK AND DATA PARALLELISM in Computer Science pptx
ERA - Clustering and Recommending Collections of Code Relevant to Task
Anomalous symmetry succession for seek out
Version control, issue tracking and communication
Jay Kreps on Project Voldemort Scaling Simple Storage At LinkedIn
Business Process Configuration in the Cloud: How to Support and Analyze Multi...
Cloud is such stuff as dreams are made on
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
CRC Conference proceedings
3 f6 9_distributed_systems
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
Secondary data analysis with digital trace data
Botbeans CISTI 2011
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Electronic commerce courselecture one. Pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Machine learning based COVID-19 study performance prediction
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Electronic commerce courselecture one. Pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25-Week II

Version control thesis

  • 1. Version Control By Researcher: Waleed Mohamed Mahmoud Al-Adrousy Computer Science Department, Faculty of computers and Information Systems Mansoura University Dr-Samir El-Desouky El-Mougy Dr-Ahmed Abou El-Fetouh Saleh Computer Science Department, Information System Department, Faculty of computers and Information Systems Faculty of computers and Information Systems Mansoura university Mansoura university
  • 2. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 2
  • 3. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 3
  • 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. 4
  • 11. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 11
  • 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. 12
  • 13. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 13
  • 14. Previous works Technologies: ● File Sharing Protocols: – FTP ● File Synchronization Protocols – WebDav – DeltaV – RSync Algorithm – IP-RSync ● Basically need Network protocol level support 14
  • 15. Previous Work (Continue) ● Dick Grune in 1986 (CVS) ● CollabNet Inc in 2000 (subversion) ● Peer to peer (P2P) technolgies in late 1990s 15
  • 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 16
  • 17. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 17
  • 18. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 18
  • 19. First Part Semi Distributed Version Control Using Web Data Mining 19
  • 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. 20
  • 23. Web Data Mining ● Definition... ● 3 Types of Algorithms: – Centrality and Closeness – Ranking – Clustering 23
  • 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 24
  • 30. 30
  • 31. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 31
  • 32. Second Part Structured Differencing For Web Based Version Control 32
  • 33. Existing Differencing Algorithms Comparison Line Based Structure Based Example LCS DiffX, Xdiff and Xydiff Comparison unit Line Structure Implementation Difficulty Easy Hard Dealing with logical nature of code that consists of Deals with it Ignores it (classes, methods, (helpful for developers) objects,...etc) 33
  • 34. Part 2 Objectives ● Adding grammar based difference calculation. ● Enhancing difference computation speed. ● Adding on-line support for syntax differencing. ● Application on java language. 34
  • 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 35
  • 36. XML Standard ● Known Structured data representation format. ● Used widely for interoperability ● Used in many protocols in Internet and web services. 36
  • 37. Convert AST to XML 37
  • 38. Differencing ● Changes can be: – ADD – Delete – Modify – Move 38
  • 40. Syntax aware Differencing Algorithm (Cont.) 40
  • 41. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 41
  • 42. Simulation Results ● Two Subsystems are simulated – Semi-structured version control JfreeChart, 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 . 42
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 49. 49
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53
  • 54. 54
  • 55. Agenda ● Version Control introduction ● Objectives ● Previous work ● Applied Algorithms and Technologies: – Suggested load balancing architecture – Suggested Differencing Algorithm ● Testing results. ● Future work 55
  • 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. 57
  • 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. 58
  • 60. Thanks 60