Results 1 -
2 of
2
Heterogeneous colimits
- In Workshop on Modeling, Validation and Heterogeneity
, 2008
"... Colimits are a useful tool for the combination of specifications and logical theories. We generalize the notion of colimit to a heterogeneous multi-logic setting. For practically realistic cases, the notion has to be weakened. We describe an algorithm that approximates the weaker notion but obtains ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
Colimits are a useful tool for the combination of specifications and logical theories. We generalize the notion of colimit to a heterogeneous multi-logic setting. For practically realistic cases, the notion has to be weakened. We describe an algorithm that approximates the weaker notion but obtains a colimit whenever possible. This algorithm is being implemented as part of the Heterogeneous Tool Set HETS.
A category-theoretic approach to syntactic software merging
- In ICSM ’05: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM’05
, 2005
"... 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 t ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
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. 1

