+ All Categories
Home > Documents > Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra,...

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

Date post: 22-Dec-2015
Category:
Upload: tracy-anthony
View: 220 times
Download: 3 times
Share this document with a friend
Popular Tags:
18
Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla
Transcript
Page 1: Revision Control Practices in Software Engineering Surekha, Kotiyala Madhuri, Komuravelly Suchitra, Yerramalla.

Revision Control Practices inSoftware Engineering

Surekha, KotiyalaMadhuri, KomuravellySuchitra, Yerramalla

Page 2: 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

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

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.

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

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.

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

Design and Implementation

A programmer or a developer works on parent version creating an independent version.

Types of designs are:

1. Operating on Plain Text

2. Operating on Language related structured representation.

3. Semistuctured representation

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

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

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

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

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

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.

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

Design and Implementation Contd..

Figure 3.Merging tree structure of source code [3].

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

Design and Implementation Contd..

Semistructured Representation

Figure 4.Unstructured Conflicts [1].

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

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:

1. Generic Engine: Knows how to identify and resolve conflicts. Grammar is guide.

2. Small abstract Specification: for each artifact language.(structured and language specific information). Figure 5.Representation of Revisions of STACK

example[1].

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

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.

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

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

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

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.

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

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.

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

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.

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

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

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

References

Proceeding s & Proceedings:

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

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

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

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

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

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

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

8. Sommerville,I., Software Engineering, 8th Limited. 2007. ed. Edinburg Gate, England: Pearson Education


Recommended