International Conference on Software Engineering · 1987 · 79 citations · 9 references
ComputingComputer ScienceComputer SystemsFormal MethodsProgramming LanguagesSystems ProgrammingComponent-based Software EngineeringSoftware MaintenanceType CheckingType SystemsVersion ControlVersion Control SystemsCompositionSoftware VersioningVersion CompatibilityVersion Consistency
The study presents key issues in version control mechanisms and compares existing systems in current programming environments. The authors characterize Inscape's version control mechanism, describing its features and comparing it to existing systems. Invariant demonstrates significant advances by providing a better understanding of parallel versions, a comprehensive notion of version consistency, a flexible method of system composition, formalized version equivalence and compatibility, and a plug‑compatibility concept useful for building systems from components.
We present the important issues to be considered in version control mechanisms and characterize and compare the kinds of version control systems extant in current programming environments. We then characterize Inscape's version control mechanism. Invariant, and show that it makes several significant advances in the state of the art. Using Instress (Inscape's module interface specification language) specifications, Invariant provides a better understanding of the notion of parallel versions, a more comprehensive notion of version consistency, and a more flexible method of system composition than current mechanisms. In particular, Invariant provides a formalization of the notions of version equivalence and compatibility that correspond closely with our intuitive (and practical) notions of version equivalence and compatibility. These various forms of version compatibility provide the system builder with the concept of plug-compatibility — an extremely useful facility in composing systems from component parts.
9
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1983 · 1.5K citations
Rcs — a system for version control
Walter F. Tichy · Software Practice and Experience · 1985 · 950 citations
The source code control system
Marc Rochkind · IEEE Transactions on Software Engineering · 1975 · 711 citations
Programming-in-the large versus programming-in-the-small
Frank DeRemer, Hans H. Kron · ACM SIGPLAN Notices · 1975 · 582 citations
The Larch Family of Specification Languages
John V. Guttag, J. J. Horning, J.M. Wing · IEEE Software · 1985 · 278 citations