Summary
We introduce the concept of a version graph to model the problem of minimizing the combined cost of storage space and version regeneration time for database version control systems. We show that, in general, this problem and several of its variations are NP-complete. Several heuristics are developed, and performance guarantees for these heuristics are obtained. We also present linear time algorithms for special classes of version graphs; these special classes are likely to apply in many version control systems.
Similar content being viewed by others
References
Bern, M.W., Lawler, E.L., Wong, A.L.: Why certain subgraph computations require only linear time. Proc. IEEE 26th Ann. Symp. Found. Comput. Sci., pp. 117–125. Portland, OR, Oct. 1985
Bernstein, P.A.: Database systems support for software engineering. Proc. 9th IEEE Int. Conf. Software Eng., pp. 166–178. Monterey, CA, March 1987
Dadam, P., Lum, V., Werner, H.: Integration of time versions into a relational database system. Proc. 10th Int. Conf. Very Large Data Bases, pp. 509–522. Singapore, Aug. 1984
Dittrich, K.R., Lorie, R.A.: Version support for engineering database systems. IEEE Trans. Software Eng., 14, 429–437 (1988)
Floyd, R.W.: Algorithm 97: Shortest path. Commun. ACM 5, 345 (1965)
Fredman, M.L.: New bounds on the complexity of the shortest path problem. SIAM J. Comput. 5, 83–89 (1976)
Francis, R.L., McGinnis, L.F., White, J.A.: Location analysis. Eur. J. Oper. Res. 12, 220–252 (1983)
Garey, M.R., Johnson, D.S.: Computers and intractability: a guide to the theory of NP-completeness. New York: Freeman 1979
Goldman, A.J.: Optimal center location in simple networks. Transport. Sci. 5, 212–221 (1971)
Handler, G.Y., Mirchandani, P.B.: Location on networks: theory and algorithms. Cambridge, MA: MIT Press 1979
Haynie, M., Gohl, K.: Revision relations maintaining revision history information. IEEE Quart. Bull. Datab. Eng. 7, 26–34 (1984)
Heckel, P.: A technique for isolating differences between files. Commun. ACM 21, 264–268 (1978)
Hunt, J.W., McIlroy, M.D.: An algorithm for differential file comparison. Computer Science Technical Report 41. Murray Hill, NJ: AT & T Bell Laboratories 1976
Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of computer computations, pp. 85–103. New York: Plenum Press 1972
Katz, R.H., Bhateja, R., Chang, E.E.L., Gedye, D., Trijanto, V.: Design version management. IEEE Design Test 4, 12–22 (1987)
Katz, R.H., Lehman, T.J.: Database support for versions and alternatives of large design files. IEEE Trans. Software Eng. SE-10, 191–200 (1984)
Lichtenstein, D.: Planar formulae and their uses. SIAM J. Comput. 11, 329–343 (1982)
Lin, S.: Computer solutions of the traveling salesman problem. Bell Syst. Tech. J. 44, 2245–2269 (1965)
Moffat, A., Takaoka, T.: An all pairs shortest path algorithm with expected running time O(n 2log n). Proc. IEEE 26th Ann. Symp. Found. Comp. Sci., pp. 101–105. Portland, OR, Oct. 1985
Papadimitriou, C.H., Steiglitz, K.: Combinatorial optimization: algorithms and complexity. Englewood Cliffs: Prentice Hall 1982
Perry, D.E.: Version control in the inscape environment. Proc. 9th IEEE Int. Conf. Software Eng., pp. 142–149. Monterey, CA, March 1987
Rochkind, M.J.: The source code control system. IEEE Trans. Software Eng. SE-1, 364–370 (1975)
Severance, D.G., Lohman, G.M.: Differential files: their application to the maintenance of large databases. ACM Trans. Database Syst. 1, 256–267 (1976)
Tansel, B.C., Francis, R.L., Lowe, T.J.: Location on networks: a survey. Manage. Sci. 29, 482–511 (1983)
Tarjan, R.E.: Data structures and network algorithms. Philadelphia: SIAM 1983
Tichy, W.F.: Design, implementation, evaluation of a revision control system. Proc. 6th Int. Conf. Software Eng., pp. 58–67. Tokyo, Japan, Sept. 1982
Tichy, W.F.: RCS — a system for version control. Software, Pract. Exper. 15, 637–654 (1985)
Unix user's reference manual. Dept. E.E. & Comp. Sci., UC Berkeley, CA, April 1984
Author information
Authors and Affiliations
Additional information
Research supported in part by the National Science Foundation under Grant DCR 86-03184
An extended abstract of this paper appeared in Proceedings of the Seventh ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Austin, Texas, March 1988
Rights and permissions
About this article
Cite this article
Yu, L., Rosenkrantz, D.J. Minimizing time-space cost for database version control. Acta Informatica 27, 627–663 (1990). https://doi.org/10.1007/BF00259470
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00259470