© DEEDS – OS Systems & Software Dependability
© DEEDS – OS Outline for today Peek at OS2 topics Some DEEDS research introduction 1.Efficient Model Checking of Fault-tolerant Distributed Algorithms 2.OS testing & hardening 3.Dissecting AUTOSAR - Inside future automotive software
© DEEDS – OS OS testing & hardening
© DEEDS – OS OSs are large & complex beasts! Windows versionSLOC NT Million NT Million NT Million NT Million Win2k Million WinXP Million Server Million
© DEEDS – OS OSs are large & complex beasts! Linux kernelSLOC Million Million Million Million Million Million >15 Million And that‘s just the kernel... Debian Lenny „code base“: 54 Million SLOC Debian Lenny total: 324 Million SLOC
© DEEDS – OS Where are the bugs (2001)?
© DEEDS – OS Where are the bugs (10 years later)?
© DEEDS – OS Why are the bugs where they are? Sources of outage in Windows XP Sources of outage in Windows 2k Device drivers –Numerous: 250 installed (100 active) drivers in XP/Vista –Large & complex: 70% of Linux code base –Immature: every day 25 new / 100 revised versions Vista drivers –Access Rights: kernel mode operation in monolithic OSs Device drivers are the dominant cause of OS failures despite sustained testing efforts
© DEEDS – OS What can we do about the bugs? Detect upfront (static analyses, testing: white vs black box) Detect & recover at runtime (Sandboxing, e.g. Nooks, BGI) Nothing? make kernels robust!
© DEEDS – OS Two sample approaches Problem statement: Driver failures lead to OS API failures Mitigation approaches 1.Improve driver reliability 2.Harden OS robustness
© DEEDS – OS Some terminology
© DEEDS – OS A different view The problem in terms of error propagation The effect of testing in terms of error propagation The effect of robustness hardening in terms of error propagation
© DEEDS – OS Issues with the testing approach What if the driver is not the root cause? What if we cannot remove defects (e.g. commercial OSs)?
© DEEDS – OS Issues with the hardening approach What if we cannot remove robustness vulnerabilities?
© DEEDS – OS DEEDS: Driver testing Total State Space Operational State Space Testing
© DEEDS – OS DEEDS: Kernel hardening Test App OS Drivers Target Driver Manager Interceptor Drivers Host