A Framework for Maintaining Artefact Consistency during Software Development

Wagner da Silveira, Ildikó Pete


Introduction and motivation

A software system is composed of a variety of artefacts, which are products of the various activities involved in the development process. In practice, software artefacts evolve at different paces and modifications applied to one artefact may not necessarily get reflected in other related artefacts. This differential evolution of software artefacts may result in synchronisation issues and inconsistency among artefacts. Outdated artefacts also constitute impediments to effective system maintenance and evolution. Although incremental development provides a more flexible solution for handling changes [Larman 2001], artefact consistency is often neglected: different representations of software go through stages of refinement without considering all the dependent artefacts as the process does not enforce artefact links.

Evaluation of state of the art solutions

Various solutions have been proposed in the areas of consistency management and traceability, which aids change impact analysis [Ibrahim et al. 2005], to support consistent evolution of software artefacts [Lucia et al. 2010] [Reiss 2006] [Winkler and Pilgrim 2009] [Olsson and Grundy 2002] [Spanoudakis and Zisman 2001]. However, a number of challenges remain as current approaches only provide partial solutions: they are restrictive in terms of supported artefacts and they do not cater for all aspects of artefact consistency.

Current and Future Work

We hypothesise that a holistic and incremental framework that enables artefact synchronisation and consistency during the software lifecycle is a viable solution. We have identified the following aspects of artefact consistency management: trace link creation and maintenance, change detection, change impact analysis, consistency checking and change propagation.

The proposed work involves the design, implementation and evaluation of a framework for artefact consistency management. The novelty of the solution stems from its holistic approach to solving the artefact consistency issue. At the outset, three types of artefacts (requirements in natural language, design in UML class diagrams and Java source code) are considered.

Currently we are working on extracting fine-grained information on elements and their relationships from the original artefacts, and representing it using a graph structure.

Artefact elements are represented as nodes and relationships among them as edges of the graph. Traversing the graph will allow the analysis of the impact of changes. Work planned for the near future includes the remaining aspects of consistency management for the considered artefacts and the evaluation of the proposed framework using artefacts from open source repositories to assess the feasibility of the approach.


Software development, graph database, artefact consistency

ISSN 2447-2107
e-mail: propepg@uniplaclages.edu.br | Fone: (49) 3251-1009
Copyright 2012. Editora UNIPLAC