Repository logo
 
Publication

Towards a formally verified microkernel using the VCC verifier

dc.contributor.advisorSousa, Simão Patrício Melo de
dc.contributor.advisorFaria, José Miguel
dc.contributor.authorTojal, Joaquim José e Silva de Carvalho
dc.date.accessioned2015-07-15T10:11:00Z
dc.date.available2015-07-15T10:11:00Z
dc.date.issued2010
dc.date.submitted2010
dc.description.abstractIn this thesis we present the design by contract modular approach to formal verification of an industrial real-time microkernel which was not designed with formal verification in mind. The microkernel module targeted is a particular interrupt manager of xLuna Real Time Operating System (RTOS) for embedded systems built by Critical Software S.A. The annotations were verified automatically using the Microsoft Research Verified C Compiler (VCC) tool to reason about concurrency and safety properties of xLuna kernel. The specifications are based in Hoare-style pre- and post-conditions inlined with the real code. xLuna is a microkernel based on the RTEMS Real-Time Operating System. xLuna extends RTEMS for run a GNU/Linux Operating System, providing a runtime multitasking environment for real-time (RTEMS) and non-real-time (Linux) applications. xLuna runs in a preemptable and concurrent environment. Therefore, we use VCC for reasoning about concurrent executions and some functional and safety properties of xLuna microkernel. VCC is an automated verifier for concurrent C programs that is being developed by Microsoft Research, Redmond, USA and European Microsoft Innovation Center (EMIC), Aachen, Germany. VCC is being built and used for operating system verification which makes it suitable for our verification work. Specifications were added to xLuna code following a modular approach to the verification of a specific microkernel module, namely the Interrupt Request (IRQ) module. The Verified C Compiler (VCC) annotations added cover approximately 80% of the IRQ manager C code (the remaining 20% of the code are relative to auxiliary functions outside the scope of our verification work). All the annotations were automatically verified and proven to be correct.por
dc.identifier.urihttp://hdl.handle.net/10400.6/3717
dc.language.isoengpor
dc.subjectConcurrencypor
dc.subjectCritical systempor
dc.subjectDesign by contractpor
dc.subjectEmbedded systemspor
dc.subjectFormal verificationpor
dc.subjectFormal methodspor
dc.subjectMicrokernelpor
dc.subjectReal-timepor
dc.subjectOperating systempor
dc.subjectSoftware reliabilitypor
dc.subjectxLunapor
dc.subjectSafetypor
dc.titleTowards a formally verified microkernel using the VCC verifierpor
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspor
rcaap.typemasterThesispor
thesis.degree.disciplineEngenharia Informáticapor
thesis.degree.levelMestrepor
thesis.degree.nameDissertação apresentada à Universidade da Beira Interior para a obtenção do grau de mestre em Engenharia Informáticapor

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Dissertacao_Joaquim_Tojal.pdf
Size:
1.72 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: