UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Software tools for untangling safety-critical source code Feng, Feng

Abstract

Software Safety is an emerging discipline that focuses on the use of software to mitigate the risks of mishaps occurring, especially for software-intensive systems. Research on Software Safety methodology has largely focused on "front-end" of the whole safety process such as the specification of safety requirements. Aside from work on highly specialized techniques such as software fault injection, relatively little attention have been given by researchers to the "back-end" of verifying the safety of software implementation. One of the biggest difficulties of safety verification for software implementation is that safety-related source code often cross-cuts the modular structure of the software system. A recent doctoral dissertation by Ken Wong at the University of British Columbia identifies several possible methods that could be used to extract these safety-related code fragments from many components of software system. In this dissertation, we extend Wong's research, with an emphasis on using techniques and tools originally developed for other purposes such as the re-engineering of software systems. In particular, we focus on AOP (Aspect Oriented Programming) and Program Slicing. Aside from evaluating these techniques and tools to untangle software source code, we provide the design and implementation of our own slicing tool, which combines the advantages of both static and dynamic source code analysis to implement a hybrid approach. As a case study for our investigation, we have designed and implemented a model of a safety-critical software system that processes air traffic control radar surveillance data, which exhibits several cross-cutting safety concerns. We use this case study to investigate how various techniques and tools may be used to extract a representation of a crosscutting safety concern from source code.

Item Media

Item Citations and Data

Rights

For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.