Details

Hismo is a meta-model for software evolution analysis and it embodies my PhD thesis:

To provide a generic meta-model for expressing software evolution analyses, we need to recognize the evolution as an explicit phenomenon and model it as a first class entity.

The essence of Hismo is given in the following UML diagram:

Hismodesign

The basic idea is that given a representation of a Snapshot, we can add time information to it through a Version and put the Version in the context of a History.

The below picture shows a parallel between Hismo and the Evolution Matrix. History offers a temporal traversal of the data space, while Version traverses the data space wise.

Hismomatrix

Various analyses have been implemented based on Hismo. In my PhD I show how having History as a first class encapsulation of evolution allows us to express analyses in a more concise way.

Hismo is currently implemented in Moose, in the iPlasma platform from University of Timisoara, Romania, and it stayed at the basis of a research project carried out between University of Zurich and University of Lugano.

Slides

sample slides from slideshare

Selected publications

  1. Stéphane Ducasse, Tudor Gîrba, and Jean-Marie Favre. Modeling Software Evolution by Treating History as a First Class Entity. In Proceedings Workshop on Software Evolution Through Transformation (SETra 2004), p. 75—86, Elsevier, Amsterdam, 2004. DOI PDF 
  2. Tudor Gîrba and Michele Lanza. Visualizing and Characterizing the Evolution of Class Hierarchies. In WOOR 2004 (5th ECOOP Workshop on Object-Oriented Reengineering), 2004. PDF 
  3. Tudor Gîrba, Stéphane Ducasse, and Michele Lanza. Yesterday's Weather: Guiding Early Reverse Engineering Efforts by Summarizing the Evolution of Changes. In Proceedings of 20th IEEE International Conference on Software Maintenance (ICSM'04), p. 40—49, IEEE Computer Society, Los Alamitos CA, September 2004. DOI PDF 
  4. Tudor Gîrba, Stéphane Ducasse, Radu Marinescu, and Daniel Ra\ctiu. Identifying Entities That Change Together. In Ninth IEEE Workshop on Empirical Studies of Software Maintenance, 2004. PDF 
  5. Tudor Gîrba, Jean-Marie Favre, and Stéphane Ducasse. Using Meta-Model Transformation to Model Software Evolution. In Proceedings of 2nd International Workshop on Meta-Models and Schemas for Reverse Engineering (ATEM 2004), p. 57—64, 2004. DOI PDF 
  6. Tudor Gîrba. Modeling History to Understand Software Evolution. Ph.D. thesis, University of Bern, Bern, November 2005. PDF 
  7. Tudor Gîrba and Stéphane Ducasse. Modeling History to Analyze Software Evolution. In Journal of Software Maintenance: Research and Practice (JSME) 18 p. 207—236, 2006. PDF 

PhD Thesis