Release History Meta Modeling

Status

finished by Dane Marjanovic.

More information can be found in the project plan.

Final Thesis (PDF, 1111 KB)

Abstract

Recent research activities in software evolution analysis concentrated on analyzing release history data as obtained from repositories of versions and problem reporting systems, such as concurrent versioning system CVS, Subversion, Rational ClearCase, and Bugzilla. Underlying data models are driven by analysis goals and are typical application specific. An explicit meta model defining the core entities and relationships to model release history of software systems is not existent but needed. For instance, to build a software evolution workbench that integrates various data extraction, analysis, and visualization tools and can exploit a well defined release history meta model.

The goals of this diploma thesis are: The specification and implementation of a release history meta model to represent version, change, and problem report data.

Task Description

The Diploma thesis consists of following four parts:

  • Specification of the release history meta model: The project starts with investigating the information stored by the two versioning systems Concurrent Versions Systems (CVS) and Subversion (SVN). Based on this information and also taking into account existing work, such as described in [1] and [2] the initial release history meta model is to be specified. The meta model has to facilitate the representation of the basic entities and concepts used by CVS and SVN such as releases, revisions, and modification reports.
  • Validation of the meta model: In this step the applicability of the release history meta model is validated by applying it to additional configuration and versioning management systems. We concentrate on Microsoft Visual SourceSafe and IBM Rational ClearCase. Further systems for valdation are to be discussed as the work progresses.
  • Problem report data: This step is concerned with further extending the meta model to represent problem report data as obtained from the Bugzilla bug reporting system. Based on existing software projects using Bugzilla (e.g., Mozilla, Eclipse project) entities and concepts of Bugzilla have to be determined, discussed, and integrated into the meta model.
  • Implementation of the meta model: The specification of the meta model has to be done in an XML-based form to use it with mapping tools generating instances of the meta model. Regarding the mapping tool the object/persistence framework Hibernate has to be used. The implementation has to be tested and evaluated with a medium-sized software project. Optionally, the implementation shall be extended towards MOF-EMF (Meta Object Facility - Eclipse Modeling Framework) to facilitate the application of MOF-EMF-based modeling and transformation tools.

The envisioned outcome is:

  • A meta model for release history data to represent version, change, and problem report data.
  • A prototype implementation of the meta model with the Hibernate object/relational persistence layer.
  • Verification and validation of the meta model with a medium-sized software project.