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
February 2013
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.
Text
AndersonThesis.pdf
- Other
More information
Published date: February 2013
Organisations:
University of Southampton, Electronic & Software Systems
Identifiers
Local EPrints ID: 353281
URI: http://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: 14 Mar 2024 14:04
Export record
Contributors
Author:
Gabrielle Anderson
Thesis advisor:
Julian Rathke
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