Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

The Problem Decomposition of programs in terms of classes and in terms of crosscutting concerns are both useful, but languages based on source files allow.
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
Digital Library Service – An overview Introduction System Architecture Components and their functionalities Experimental Results.
Oblivious Trees A Concurrent Cryptographic Data Structure William Strickland Christopher Fontaine [ ]
Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION VERSION CONTROL UW Autumn 2011.
A Robust System Architecture For Mining Semi-structured Data By Aby M Mathew CSE
Using subversion COMP 2400 Prof. Chris GauthierDickey.
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
The iiuf Java Package Part II Simon Schubiger and Oliver Hitz DIUF, University of Fribourg.
Software Configuration Management (SCM)
Tile Reduction: the first step towards tile aware parallelization in OpenMP Ge Gan Department of Electrical and Computer Engineering Univ. of Delaware.
SMIILE Finaly COBOL! and what else is new Gordana Rakić, Zoran Budimac.
Version control for graph-based models Z. Protić M. F. van Amstel M.G.J. van den Brand.
1 CMPT 275 Software Engineering Revision Control.
Version Management for XML Documents Copy-Based vs Edit-Based Schemes Shu-Yao Chien Computer Science Department University of California, Los Angeles
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Database Systems: Design, Implementation, and Management Ninth Edition
Chapter 1 Database Systems. Good decisions require good information derived from raw facts Data is managed most efficiently when stored in a database.
Version control Using Git 1Version control, using Git.
Chapter 2 The process Process, Methods, and Tools
Introduction to Version Control
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
UDoCument: Electronic Scrapbook for the Information Era Soufiane Berouel, Undergraduate Student Supervised by Prof. Lily Liang Department of Computer Science.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
Software and Hardware Interaction
Version control Using Git Version control, using Git1.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Cloudifying Source Code Repositories: How much does it cost? 1 Hadi Salimi, Distributed Systems Labaratory, School of Computer Engineering, Iran University.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
CSE 219 Computer Science III CVS
1 Brief Introduction to Revision Control Ric Holt.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS Instructor Ms. Arwa Binsaleh.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Comparing Document Segmentation for Passage Retrieval in Question Answering Jorg Tiedemann University of Groningen presented by: Moy’awiah Al-Shannaq
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
1 Multi-level Configuration Management with Fine-grained Logical Units Tien N. Nguyen Electrical and Computer Engineering Department Iowa State University.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Presentation OLOMOLA,Afolabi( ). Update Changes in CSV/SVN.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 1 Database Systems.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
General Architecture of Retrieval Systems 1Adrienn Skrop.
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Database Principles: Fundamentals of Design, Implementation, and Management Chapter 1 The Database Approach.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Information Systems and Network Engineering Laboratory II
Configuration Management
Source Control Dr. Scott Schaefer.
Version control, using Git
RTC – Source Control Management
Concurrent Version Control
Content Management Systems
Model-Driven Analysis Frameworks for Embedded Systems
Versioning in Adaptive Hypermedia
Software Configuration Management
Introduction to Computers
Presentation transcript:

Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla

Overview Introduction Design and Implementation Managing Revision Control Experimentation Conclusion Future work References

Introduction Revision control system How are Revisions obtained? Software revisions are obtained when more than one person works on a single module and creates multiple versions of that particular module. RCS: The revision control system is a software implementation, which automatically changes to the main code. This operates only on single file.

Introduction contd... Need of RCS Existing revision control systems perform the merge operation. Revision control software is mainly used by software developers for maintaining documentation and configuration of files. Proved correctness and certainty.

Design and Implementation A programmer or a developer works on parent version creating an independent version. Types of designs are: Operating on Plain Text Operating on Language related structured representation. Semistuctured representation

Design and Implementation Contd.. Operating on Plain Text Hierarchically structured information is used. The program includes class, subclass, blocks, procedures and functions. Figure 1. Hierarchically structured program[4].

Design and Implementation The program or a document is always tracked for modifications like merging, removing, editing, and adding. Figure 2. Hierarchical program representation[4].

Design and Implementation Contd.. Operating on Language related structured representation. Two way merge algorithm for source code that exploit the tree structure of modern programming language grammar. The source code is transformed in an intermediate XML representation and the merge operation is conducted on the transformed merge operation. Independent from programming language. Parsing tree, Unique ID’s to all nodes.

Design and Implementation Contd.. Figure 3.Merging tree structure of source code [3].

Design and Implementation Contd.. Semistructured Representation Figure 4.Unstructured Conflicts [1].

Design and Implementation Contd.. Minimize the number of conflicts that require manual intervention. Knows about structural elements like language constructs Software artifacts as trees. Two parts: Generic Engine: Knows how to identify and resolve conflicts. Grammar is guide. Small abstract Specification: for each artifact language.(structured and language specific information). Figure 5.Representation of Revisions of STACK example[1].

Managing Revision Control Distributed Version Management Darcs is a distributed version management. This version is used for implementing a “diff” algorithm, Two programming languages are been compared that is C++ and Haskell. Haskell provided better results.

Managing Revision Control Orthogonal Version Management It is a task by managing variants and revision trees of single documents. which are orthogonal to each other and we can identify them in a three - dimensional views such as Variant, Revision and Component. We can merge the components implemented in different platforms. The orthogonal organization allows a simple and clear management. Figure 6. Project’s revision trees [5].

Experimentation Image Versioning System They found a version number using the image appeared on the screen and try to configure to the new version. This was mainly used for such departments which are needs to create the configuration from the scratch After implementing this concept of versioning system, burden of the machine be easily identified using the registry key. Computers can easily upgraded by updating patch levels in the repository. Using these virtual machines, any conflicts occurred by changing documents can be fixed easily. Before critical update they have required patches for every particular version.

Experimentation Git hub: Git, Open source distributed version control system and maintains versions of a document with modified dates and content. Git hub is a popular version control system and provides communication among users. Users can create private or public repositories. Changes are made to cloned copies. Allow users to retrieve the deleted documents. Git hub is an effective way compare different versions.

Conclusion With the evaluation of different Revision Control Systems Track and control the changes in the software. Identify the modified content and also who changed it. Syntax trees, orthogonal and distributed version controls helps in maintaining different versions of text and code documents efficiently. Maintains Patches and updates in the software.

Future work More applications need to develop with providing good user friendly environment. Maintainability can be achieved if the projects are developed using Revision control applications. Experiments are going on to move the repositories to the cloud for centralized access. Amazon Ec2, Skydrive ,etc.,

References Proceeding s & Proceedings: Apel, S., Liebig, J., Brandl, B., Lengauer, C., Kastner, C., Semi structured Merge: Re thinking merge in revision control systems, ESEC/FSE ’11 Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on foundations of software engineering , New York, NY, USA, 2011, Pages 190-200. Gowtham, S., Revision Control System (RCS) in computational sciences and engineering curriculum, XSEDE ’14 Proceedings of the 2014 Annual conference on Extreme Science and Engineering Discovery Environment, New York, NY, USA, 2014, Article No. 76. Hayase, Y., Matsushita, M., Inoue, K., Revision control system using delta script of syntax tree, SCM ’05 Proceeding of the 12th international workshop on software configuration management, New York, NY, USA, 2006, Pages 133-149. Magnusson, B., Asklund, U., Minor, S., Fine-grained revision control for collaborative software development, SIGSOFT ’93 Proceedings of the 1st ACM SIGSOFT symposium on foundations of software engineering, New York , NY USA, 1993, Pages 33-41.  Reicheberger, C., Orthogonal version management, SCM ’89 Proceedings of the 2nd international workshop on software configuration management, New York, NY, USA, 1989, Pages 137 – 140. Roundy, D., Darcs: Distributed Version Management in Haskell, Haskell ’05 Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, New York, NY, USA, 2005, Pages 1-4. Sprague, R., Revision Control Practices Applied to Computer Configurations, SIGUCCS ’05 Proceedings of the 33rd annual ACM SIGUCCS conference on User Services, New York, NY, USA, 2005, Pages 356-359. Books: Sommerville,I., Software Engineering, 8th Limited. 2007. ed. Edinburg Gate, England: Pearson Education