Complexity issues in tree-based version control

0Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Version control systems are designed to allow the efficient storage of and access to multiple versions of programs. In many systems, a few versions are stored in their entirety as lines of text and the remaining versions are stored as differences between versions, recorded as modifications, additions, and removals of lines. Since the structure underlying most programs is not a list of lines, but instead a tree, it makes sense to consider storing programs as trees. We introduce a natural model for version control of program trees. We present a polynomial time algorithm that takes as input two trees and produces a difference that requires the smallest amount of space to store. However, if we store programs as directed acyclic graphs (DAGs) the problem of determining such a difference is NP-complete. Another problem of interest is that of computing, for an arbitrary pair of versions, a difference between versions such that the amount of time needed to reconstruct the second version from the first version is the least possible. We show this problem to be NP-complete for both trees and DAGs.

Cite

CITATION STYLE

APA

Nishimura, N. (1989). Complexity issues in tree-based version control. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 382 LNCS, pp. 472–486). Springer Verlag. https://doi.org/10.1007/3-540-51542-9_39

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free