Merging Changes to Software Specifications

We propose a model of software changes and a method for combining changes to a software specification. This work was motivated by the desire to provide automated decision support for the evolution of software prototypes. We define a behavioral refinement ordering on software specifications and indicate how this structure can be used to automatically combine several changes to a specification. A set of examples illustrates the ideas.

[1]  Luqi,et al.  A computer-aided prototyping system , 1988, IEEE Software.

[2]  Luqi A Graph Model for Software Evolution , 1990, IEEE Trans. Software Eng..

[3]  Stephen Fickas,et al.  Automating the Transformational Development of Software , 1985, IEEE Transactions on Software Engineering.

[4]  Valdis Berzins,et al.  Recombining changes to software specifications , 1998, J. Syst. Softw..

[5]  Luqi,et al.  A Prototyping Language for Real-Time Software , 1988, IEEE Trans. Software Eng..

[6]  Martin S. Feather Constructing Specifications by Combining Parallel Elaborations , 1989, IEEE Trans. Software Eng..

[7]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[8]  Elaine Kant On the efficient synthesis of efficient programs , 1983 .

[9]  Luqi,et al.  Automated merging of software prototypes , 1994, J. Syst. Integr..

[10]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[11]  Luqi,et al.  An introduction to the specification language SPEC , 1990, IEEE Software.

[12]  Douglas R. Smith,et al.  Research on Knowledge-Based Software Environments at Kestrel Institute , 1985, IEEE Transactions on Software Engineering.

[13]  Robyn R. Lutz,et al.  Analyzing software requirements errors in safety-critical, embedded systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[14]  Luqi,et al.  Automation support for concurrent software engineering , 1994, SEKE.

[15]  Valdis Berzins,et al.  Software merge: Models and methods for combining changes to programs , 1991, J. Syst. Integr..

[16]  Valdis Berzins,et al.  Software merge: Combining changes to decompositions , 1996, J. Syst. Integr..

[17]  Martin S. Feather,et al.  A System for Assisting Program Transformation , 1982, TOPL.

[18]  Valdis Berzins Software merging and slicing , 1995 .

[19]  Luqi Software evolution through rapid prototyping , 1989, Computer.

[20]  Valdis Berzins,et al.  Software merge: semantics of combining changes to programs , 1994, TOPL.

[21]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.