Skip to main content

Software merge: Models and methods for combining changes to programs

  • Conference paper
  • First Online:
ESEC '91 (ESEC 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 550))

Included in the following conference series:

  • 133 Accesses

Abstract

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.

This research was supported in part by the Army Research Office under grant number ARO-145-91.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. V. Berzins, “On Merging Software Extensions”, Acta Informatica 23, Fasc. 6 (Nov. 1986), 607–619.

    Google Scholar 

  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. 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. 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. 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. 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. 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. S. Letovsky and E. Soloway, “Delocalized Plans and Program Comprehension”, IEEE Software 3, 3 (May 1986), 41–49.

    Google Scholar 

  10. R. C. Linger, H. D. Mills and B. I. Witt, Structured Programming: Theory and Practice, Addison Wesley, Reading, MA, 1979.

    Google Scholar 

  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. Luqi, “A Graph Model for Software Evolution”, IEEE Trans. on Software Eng. 16, 8 (Aug. 1990), 917–927.

    Google Scholar 

  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. T. Reps, “On the Algebraic Properties of Program Integration”, Computer Sciences Technical Report 856, University of Wisconsin, Madison, 1989.

    Google Scholar 

  15. J. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977.

    Google Scholar 

  16. M. Weiser, “Program Slicing”, IEEE Trans. on Software Eng. SE-10, 4 (July 1984), 352–357.

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Axel van Lamsweerde Alfonso Fugetta

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berzins, V. (1991). Software merge: Models and methods for combining changes to programs. In: van Lamsweerde, A., Fugetta, A. (eds) ESEC '91. ESEC 1991. Lecture Notes in Computer Science, vol 550. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540547428_51

Download citation

  • DOI: https://doi.org/10.1007/3540547428_51

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54742-6

  • Online ISBN: 978-3-540-46446-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics