The University of Southampton
University of Southampton Institutional Repository

Behavioural properties and dynamic software update for concurrent programmes

Behavioural properties and dynamic software update for concurrent programmes
Behavioural properties and dynamic software update for concurrent programmes
Software maintenance is a major part of the development cycle. The traditional methodology for rolling out an update to existing programs is to shut down the system, modify the binary, and restart the program. Downtime has significant disadvantages. In response to such concerns, researchers and practitioners have investigated how to perform update on running programs whilst maintaining various desired properties. In a multi-threaded setting this is further complicated by the interleaving of different threads' actions. In this thesis we investigate how to prove that safety and liveness are preserved when updating a program. We present two possible approaches; the main intuition behind each of these is to find quiescent points where updates are safe. The first approach requires global synchronisation, and is more generally applicable, but can delay updates indefinitely. The second restricts the class of programs that can be updated, but permits update without global synchronisation, and guarantees application of update. We provide full proofs of all relevant properties.
Anderson, Gabrielle
ca46dd5b-2682-44ab-b2b5-9560396dabba
Anderson, Gabrielle
ca46dd5b-2682-44ab-b2b5-9560396dabba
Rathke, Julian
dba0b571-545c-4c31-9aec-5f70c231774b

Anderson, Gabrielle (2013) Behavioural properties and dynamic software update for concurrent programmes. University of Southampton, Faculty of Physical Science and Engineering, Doctoral Thesis, 208pp.

Record type: Thesis (Doctoral)

Abstract

Software maintenance is a major part of the development cycle. The traditional methodology for rolling out an update to existing programs is to shut down the system, modify the binary, and restart the program. Downtime has significant disadvantages. In response to such concerns, researchers and practitioners have investigated how to perform update on running programs whilst maintaining various desired properties. In a multi-threaded setting this is further complicated by the interleaving of different threads' actions. In this thesis we investigate how to prove that safety and liveness are preserved when updating a program. We present two possible approaches; the main intuition behind each of these is to find quiescent points where updates are safe. The first approach requires global synchronisation, and is more generally applicable, but can delay updates indefinitely. The second restricts the class of programs that can be updated, but permits update without global synchronisation, and guarantees application of update. We provide full proofs of all relevant properties.

PDF
AndersonThesis.pdf - Other
Download (2MB)

More information

Published date: February 2013
Organisations: University of Southampton, Electronic & Software Systems

Identifiers

Local EPrints ID: 353281
URI: https://eprints.soton.ac.uk/id/eprint/353281
PURE UUID: 921b9163-e9ca-46f4-b7e4-72600f4b10db

Catalogue record

Date deposited: 04 Jun 2013 10:41
Last modified: 18 Jul 2017 04:04

Export record

Contributors

Author: Gabrielle Anderson
Thesis advisor: Julian Rathke

University divisions

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of https://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×