Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/9114
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorSekerinski, Emilen_US
dc.contributor.authorKelk, David H.en_US
dc.date.accessioned2014-06-18T16:45:40Z-
dc.date.available2014-06-18T16:45:40Z-
dc.date.created2011-05-30en_US
dc.date.issued2009-12en_US
dc.identifier.otheropendissertations/4266en_US
dc.identifier.other5285en_US
dc.identifier.other2039114en_US
dc.identifier.urihttp://hdl.handle.net/11375/9114-
dc.description.abstract<p>Version control systems are widely used to manage collections of files and directories, along with changes made to them over their lifetime. Any previously checked in version of a file is recoverable at any time from the repository. They allow people to work on the same files in a decentralized and concurrent way, while consistently managing and integrating changes.<br /> In this thesis we develop a subset of the SVN and CVS version control systems from specifications using Atelier B 4. Both of these systems are feature rich, widely used in cross-platform environments and representative of their class of file based extensional version control systems. Support for abstract data types like sets and refinement is well suited to the task. The most commonly used features such as Add, Check-in, Update are modeled in increasing detail in multiple refinement steps. Later refinement steps add features such as binary file support and the local cache. Having both models allows us to compare and contrast their feature sets. Documentation for SVN and CVS is extensive but informal. One feature of CVS required experimentation when the written documentation was insufficient. SVN is modelled in approximately 1400 lines in eight refinement steps with 109 proof obligations. CVS is likewise specified in roughly 1150 lines in seven steps with 29 proof obligations. With all proof obligations discharged we are confident the models represent the real systems and are a reasonable first step towards the goal of verifiable implementations of version control systems.</p>en_US
dc.subjectComputer Sciencesen_US
dc.subjectComputer Sciencesen_US
dc.titleFormal Modelling of Version Control Systemsen_US
dc.typethesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreeMaster of Computer Science (MCS)en_US
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File SizeFormat 
fulltext.pdf
Open Access
4.31 MBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue