SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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

Andere mochten auch (20)

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

Ähnlich wie Version control thesis

8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...LDBC council
 
Extending SDN beyond the control plane
Extending SDN beyond the control planeExtending SDN beyond the control plane
Extending SDN beyond the control planeAnees Shaikh
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsFedir RYKHTIK
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsLeonid Grinshpan, Ph.D.
 
Performance Test Automation With Gatling
Performance Test Automation  With GatlingPerformance Test Automation  With Gatling
Performance Test Automation With GatlingKnoldus Inc.
 
Offline first: application data and synchronization
Offline first: application data and synchronizationOffline first: application data and synchronization
Offline first: application data and synchronizationEatDog
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...HostedbyConfluent
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Moss Drake
 
Lagom : Reactive microservice framework
Lagom : Reactive microservice frameworkLagom : Reactive microservice framework
Lagom : Reactive microservice frameworkFabrice Sznajderman
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with SparkKnoldus Inc.
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetryAnees Shaikh
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGeertjan Wielenga
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...inside-BigData.com
 
XNAT Open Source Development
XNAT Open Source DevelopmentXNAT Open Source Development
XNAT Open Source DevelopmentJohn Paulett
 

Ähnlich wie Version control thesis (20)

8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
8th TUC Meeting - Tim Hegeman (TU Delft). Social Network Benchmark, Analytics...
 
Extending SDN beyond the control plane
Extending SDN beyond the control planeExtending SDN beyond the control plane
Extending SDN beyond the control plane
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Queuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applicationsQueuing model based load testing of large enterprise applications
Queuing model based load testing of large enterprise applications
 
5 software design
5 software design5 software design
5 software design
 
Gatling
Gatling Gatling
Gatling
 
Performance Test Automation With Gatling
Performance Test Automation  With GatlingPerformance Test Automation  With Gatling
Performance Test Automation With Gatling
 
Offline first: application data and synchronization
Offline first: application data and synchronizationOffline first: application data and synchronization
Offline first: application data and synchronization
 
Resume2015
Resume2015Resume2015
Resume2015
 
Libreplan architecture
Libreplan architectureLibreplan architecture
Libreplan architecture
 
SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
 
JavaFX in Action Part I
JavaFX in Action Part IJavaFX in Action Part I
JavaFX in Action Part I
 
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
Semantic Validation: Enforcing Kafka Data Quality Through Schema-Driven Verif...
 
Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019Technical Practices for Agile Engineering - PNSQC 2019
Technical Practices for Agile Engineering - PNSQC 2019
 
Lagom : Reactive microservice framework
Lagom : Reactive microservice frameworkLagom : Reactive microservice framework
Lagom : Reactive microservice framework
 
Lambda Architecture with Spark
Lambda Architecture with SparkLambda Architecture with Spark
Lambda Architecture with Spark
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming Telemetry
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
XNAT Open Source Development
XNAT Open Source DevelopmentXNAT Open Source Development
XNAT Open Source Development
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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