Software merge: Models and methods for combining changes to programs

  • Valdis Berzins
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 550)


We outline a model for programs and data, and present a formal definition of an ideal change merging operation. This model is used to develop a new semantically based method for combining changes to programs. We also evaluate the appropriateness of the change merging operation, and examine some circumstances where the specifications of a program as well as the implementations can be used to guide the change merging process in cases where the implementations conflict but the specifications do not.


Software merging configuration management maintenance 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    V. Berzins, M. Gray and D. Naumann, “Abstraction-Based Software Development”, Comm. of the ACM 29, 5 (May 1986), 402–415.Google Scholar
  2. 2.
    V. Berzins, “On Merging Software Extensions”, Acta Informatica 23, Fasc. 6 (Nov. 1986), 607–619.Google Scholar
  3. 3.
    V. Berzins, B. Kopas, Luqi and A. Yehudai, “Transformations in SpecificationBased Software Evolution”, Technical Report NPS 52-90-034, Computer Science Department, Naval Postgraduate School, 1990.Google Scholar
  4. 4.
    A. Berztiss, “The Set-Function Approach to Concptual Modeling”, in Information Systems Design Methodologies: Improving the Practice, T. Olle, H. Sol and A. Verrijn-Stuart (editor), North-Holland, Amsterdam, 1986, 107–144.Google Scholar
  5. 5.
    D. Dampier, “A Model for Merging Different Versions of a PSDL Program”, M. S. Thesis, Computer Science, Naval Postgraduate School, Monterey, CA, June 1990.Google Scholar
  6. 6.
    C. A. R. Hoare, “A Couple of Novelties in the Prepositional Calculus”, Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik 31, 2 (1985), 173–178.Google Scholar
  7. 7.
    S. Horowitz, J. Prins and T. Reps, “Integrating Non-Interfering Versions of Programs”, Trans. Prog. Lang and Systems 11, 3 (July 1989), 345–387.Google Scholar
  8. 8.
    B. Kraemer, Luqi and V. Berzins, “Denotational Semantics of a Real-Time Prototyping Languag”, Technical Report NPS 52-90-033, Computer Science Department, Naval Postgraduate School, 1990.Google Scholar
  9. 9.
    S. Letovsky and E. Soloway, “Delocalized Plans and Program Comprehension”, IEEE Software 3, 3 (May 1986), 41–49.Google Scholar
  10. 10.
    R. C. Linger, H. D. Mills and B. I. Witt, Structured Programming: Theory and Practice, Addison Wesley, Reading, MA, 1979.Google Scholar
  11. 11.
    Luqi, V. Berzins and R. Yeh, “A Prototyping Language for Real-Time Software”, IEEE Trans. on Software Eng. 14, 10 (October, 1988), 1409–1423.Google Scholar
  12. 12.
    Luqi, “A Graph Model for Software Evolution”, IEEE Trans. on Software Eng. 16, 8 (Aug. 1990), 917–927.Google Scholar
  13. 13.
    A. Mili, W. Xiao-Yang and Y. Qing, “Specification Methodology: An Integrated Relational Approach”, Software Practice and Expereience 16, 11 (Nov. 1986), 1003–1030.Google Scholar
  14. 14.
    T. Reps, “On the Algebraic Properties of Program Integration”, Computer Sciences Technical Report 856, University of Wisconsin, Madison, 1989.Google Scholar
  15. 15.
    J. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977.Google Scholar
  16. 16.
    M. Weiser, “Program Slicing”, IEEE Trans. on Software Eng. SE-10, 4 (July 1984), 352–357.Google Scholar
  17. 17.
    W. Yang, S. Horowitz and T. Reps, “A Program Integration Algorithm that Accomodates Semantics-Preserving Transformations”, in Proc. 4th ACM Software Eng. Notes Symposium on SOftware Development Environments, Irvine, CA, Dec. 1990, 133–143.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Valdis Berzins
    • 1
  1. 1.Computer Science DepartmentNaval Postgraduate SchoolMonterey

Personalised recommendations