Anchored Text for Software Weaving and Merging

Pradeep Varma · 2009

Text-based software merge/refactoring systems are predominantly used. Anchored text, a datatype with first-class location anchors and greater commutativity of software merge operations has been proposed recently. In this paper we develop anchored text as a novel weaver for simultaneous, separate concerns. Irregular, crosscutting concerns such as porting issues are applicable simultaneously (multi-dimensional separation of multi-target porting concerns), in order to allow for choice of a desired subset for a given port. Form-checking rules can be specified with individual concerns, to verify their correct weaving. The simultaneous concerns model can be viewed as an offline, concurrent change weaving problem, according to which a direct implementation is provided. A novel wait-free implementation of an online model, wherein concurrent changes arrive in a dynamic sequence but with fixed scheduling tags is provided and a highly-concurrent version of the same described using speculative scheduling. All these implementations use minimal synchronisation primitives only, namely atomic registers.

Read the paper · More papers on PaperTik