A Category-theoretic Approach to Syntactic Software Merging

  • Authors:
  • Nan Niu;Steve Easterbrook;Mehrdad Sabetzadeh

  • Affiliations:
  • University of Toronto;University of Toronto;University of Toronto

  • Venue:
  • ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software merging is a common and essential activity during the lifespan of large-scale software systems. Traditional textual merge techniques are inadequate for detecting syntactic merge conflicts. In this paper, we propose a domain-independent approach for syntactic software merging that exploits the graph-based structure(s) of programs. We use morphisms between fuzzy graphs to capture the relationships between the structural elements of the programs to be merged, and apply a truth ordering lattice to express inconsistencies and evolutionary properties as we compute the merge. We demonstrate the approach with a three-way consolidation merge in a commercial software system; in particular, we show how analyzing merged call structures can help developers gain a better understanding and control of software evolution.