Skip to main content
Log in

Minimizing time-space cost for database version control

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. Bernstein, P.A.: Database systems support for software engineering. Proc. 9th IEEE Int. Conf. Software Eng., pp. 166–178. Monterey, CA, March 1987

  3. 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

  4. Dittrich, K.R., Lorie, R.A.: Version support for engineering database systems. IEEE Trans. Software Eng., 14, 429–437 (1988)

    Google Scholar 

  5. Floyd, R.W.: Algorithm 97: Shortest path. Commun. ACM 5, 345 (1965)

    Google Scholar 

  6. Fredman, M.L.: New bounds on the complexity of the shortest path problem. SIAM J. Comput. 5, 83–89 (1976)

    Google Scholar 

  7. Francis, R.L., McGinnis, L.F., White, J.A.: Location analysis. Eur. J. Oper. Res. 12, 220–252 (1983)

    Google Scholar 

  8. Garey, M.R., Johnson, D.S.: Computers and intractability: a guide to the theory of NP-completeness. New York: Freeman 1979

    Google Scholar 

  9. Goldman, A.J.: Optimal center location in simple networks. Transport. Sci. 5, 212–221 (1971)

    Google Scholar 

  10. Handler, G.Y., Mirchandani, P.B.: Location on networks: theory and algorithms. Cambridge, MA: MIT Press 1979

    Google Scholar 

  11. Haynie, M., Gohl, K.: Revision relations maintaining revision history information. IEEE Quart. Bull. Datab. Eng. 7, 26–34 (1984)

    Google Scholar 

  12. Heckel, P.: A technique for isolating differences between files. Commun. ACM 21, 264–268 (1978)

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. Katz, R.H., Bhateja, R., Chang, E.E.L., Gedye, D., Trijanto, V.: Design version management. IEEE Design Test 4, 12–22 (1987)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Lichtenstein, D.: Planar formulae and their uses. SIAM J. Comput. 11, 329–343 (1982)

    Google Scholar 

  18. Lin, S.: Computer solutions of the traveling salesman problem. Bell Syst. Tech. J. 44, 2245–2269 (1965)

    Google Scholar 

  19. 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

  20. Papadimitriou, C.H., Steiglitz, K.: Combinatorial optimization: algorithms and complexity. Englewood Cliffs: Prentice Hall 1982

    Google Scholar 

  21. Perry, D.E.: Version control in the inscape environment. Proc. 9th IEEE Int. Conf. Software Eng., pp. 142–149. Monterey, CA, March 1987

  22. Rochkind, M.J.: The source code control system. IEEE Trans. Software Eng. SE-1, 364–370 (1975)

    Google Scholar 

  23. Severance, D.G., Lohman, G.M.: Differential files: their application to the maintenance of large databases. ACM Trans. Database Syst. 1, 256–267 (1976)

    Google Scholar 

  24. Tansel, B.C., Francis, R.L., Lowe, T.J.: Location on networks: a survey. Manage. Sci. 29, 482–511 (1983)

    Google Scholar 

  25. Tarjan, R.E.: Data structures and network algorithms. Philadelphia: SIAM 1983

    Google Scholar 

  26. Tichy, W.F.: Design, implementation, evaluation of a revision control system. Proc. 6th Int. Conf. Software Eng., pp. 58–67. Tokyo, Japan, Sept. 1982

  27. Tichy, W.F.: RCS — a system for version control. Software, Pract. Exper. 15, 637–654 (1985)

    Google Scholar 

  28. Unix user's reference manual. Dept. E.E. & Comp. Sci., UC Berkeley, CA, April 1984

Download references

Author information

Authors and Affiliations

Authors

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

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00259470

Keywords

Navigation