First, I wish to express my gratitude to my supervisor Dr Nigel Thomas, who has given me the opportunity to undertake a PhD and has provided me with invaluable sup-port, guidance and crucial insights throughout these four years. Furthermore, I wish to thankDr StephenMcGough ofDurhamUniversity, who has been demonstrative and generous in his support throughout the process. I have had the pleasure of studying at the School of Computing Science at New-castle University since 2006, through undergraduate and postgraduate degrees, and most recently my PhD. During this time I have had the pleasure of working alongside numerous kind, entertaining and helpful individuals. In particular I wish to thank the following people for their support over the y...