Change Management in Shared Software Specifications

Change Management in Shared Software Specifications

Fathi Taibi (University of Management and Technology, Malaysia)
DOI: 10.4018/978-1-4666-2958-5.ch001
OnDemand PDF Download:


In order to support the collaborative development of software specifications, there is a need to automate the extraction and integration of the parallel changes or revisions that are made to a shared specification. These revisions are aimed at reaching a specification that satisfies the needs of all the stakeholders. Hence, merging conflicts are inevitable and must be detected and resolved in order to commit the changes made properly to the shared specification leading to a consistent result. A framework is proposed in this chapter to extract and integrate the parallel changes made to Object-Oriented formal specifications in a collaborative development environment. A formal foundation is proposed to uniformly define the specifications, the revisions made to them and the possible merging conflicts. The proposed framework allows extracting and integrating the parallel changes made while addressing a wide range of merging conflicts at the same time. Evaluating the developed algorithms has shown good signs in terms of accuracy and scalability.
Chapter Preview

The Change Management Problem

Software merging (Altmanninger et al., 2009; Boronat et al., 2007) is the process of combining n (usually n=2) alternative versions of a software document into a consolidated version. Supporting collaborative development of OO formal specifications requires merging the parallel revisions made to a shared specification located at shared repository. It also requires the detection and resolution of any conflicts caused by the various revisions made. Hence, the main problem here is how the parallel changes made to a shared OO formal specification can be systematically combined while ensuring the consistency of the resulting specification.

The copy-modify-merge paradigm (Ignat & Norrie, 2006) allows optimistic collaborative editing (Penichet et al., 2007) to be performed on documents located in a shared repository. The latter contains some shared documents undergoing revisions and is accessed by multiple users working in a distributed and asynchronous fashion. In the shared repository, only the last version of a particular document is saved. However, the revisions made over the collaboration time to each one of the documents are saved as well. This version management style allows saving a substantial amount of disk space since not all versions of a particular document are maintained and the revisions made (differences) are generally much smaller than the documents themselves. Figure 1 shows a graphical illustration of this paradigm.

Figure 1.

A graphical illustration of the copy-modify-merge paradigm

Complete Chapter List

Search this Book: