Skip to content

This repository contains all sources for my thesis: Verification of Fiasco's IPC implementation. This includes the LaTeX sources for the thesis, the source code that was modelled and the PVS model and its proofs.

License

Notifications You must be signed in to change notification settings

ErikSchierboom/thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verification of Fiasco's IPC implementation

This repository contains all sources for my master thesis: Verification of Fiasco's IPC implementation. This includes the thesis itself and its LaTeX sources, the source code that was modelled and the PVS model and its proofs.

Abstract

Software nowadays is often designed with dependability in mind. Our thesis combines two approaches in creating a more dependable system: using microkernels instead of monolithic kernels and formally verifying software. We have tried to verify three properties of inter-process communication in the Fiasco microkernel. As Fiasco has been written in C++, which does not support verification, we converted the source code to a model in the PVS proof system. To keep the model and proofs compact, we abstracted away many details of inter-process communication.

Two of the three properties were verified; both dealt with threads possibly waiting forever. The third property, verification of the assertions in the source code, posed several problems. One problem proved insurmountable, probably due to the abstractions applied. Another problem led to the finding of a bug in Fiasco’s IPC implementation. Although finding the bug had clear, practical use, we consider the fact that our abstract model could find the bug more important. It shows that one does not have to create a one-on-one model to apply (partial) verification; even our model in which essential components were abstracted away sufficed to find a bug.

License

Apache License 2.0

About

This repository contains all sources for my thesis: Verification of Fiasco's IPC implementation. This includes the LaTeX sources for the thesis, the source code that was modelled and the PVS model and its proofs.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages