Operational profiling of OS drivers [Elektronische Ressource] / vorgelegt von Constantin Sârbu
186 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Operational profiling of OS drivers [Elektronische Ressource] / vorgelegt von Constantin Sârbu

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
186 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Operational Pro ling of OS DriversVom Fachbereich Informatik der Technischen Universit at DarmstadtgenehmigteDissertationzur Erlangung des akademischen Grades eines Doktor-Ingenieur (Dr.-Ing.)vorgelegt vonConstantin S^ arbuaus Bukarest, Rum anienReferenten:Prof. Neeraj Suri, Ph.D.Prof. Christof Fetzer, Ph.D.Datum der Einreichung: 06. M arz 2009Datum der mundlic hen Prufung: 25. Mai 2009Darmstadt 2009D17iiSummaryOperating Systems (OS’s) constitute the operational core for computing de-vices. In order to facilitate their applicability to a variety of hardware platforms,OS’s have evolved into complex componentized software entities whose key func-tion is to provide applications access to the system resources. Fundamentally, theprovided system services inherently depend on the stability of the underlying OS.Within the OS, the key components that dominate the cause of OS failures are thedevice drivers (DDs), precisely the OS parts designed to enhance the OS’s sup-port for hardware. Despite intensive e orts to elevate the DDs’ robustness level byemploying varied test paradigms, the existing testing approaches still exhibit veryhigh failure rates. Hence, the central premise behind this thesis involves the char-acterization of the DD’s operational pro le, and using it for focusing subsequenttesting to the functionality areas likely to be exercised over the DD deployment.

Sujets

Informations

Publié par
Publié le 01 janvier 2009
Nombre de lectures 19
Langue English
Poids de l'ouvrage 1 Mo

Extrait

Operational Pro ling of OS Drivers
Vom Fachbereich Informatik der Technischen Universit at Darmstadt
genehmigte
Dissertation
zur Erlangung des akademischen Grades eines Doktor-Ingenieur (Dr.-Ing.)
vorgelegt von
Constantin S^ arbu
aus Bukarest, Rum anien
Referenten:
Prof. Neeraj Suri, Ph.D.
Prof. Christof Fetzer, Ph.D.
Datum der Einreichung: 06. M arz 2009
Datum der mundlic hen Prufung: 25. Mai 2009
Darmstadt 2009
D17iiSummary
Operating Systems (OS’s) constitute the operational core for computing de-
vices. In order to facilitate their applicability to a variety of hardware platforms,
OS’s have evolved into complex componentized software entities whose key func-
tion is to provide applications access to the system resources. Fundamentally, the
provided system services inherently depend on the stability of the underlying OS.
Within the OS, the key components that dominate the cause of OS failures are the
device drivers (DDs), precisely the OS parts designed to enhance the OS’s sup-
port for hardware. Despite intensive e orts to elevate the DDs’ robustness level by
employing varied test paradigms, the existing testing approaches still exhibit very
high failure rates. Hence, the central premise behind this thesis involves the char-
acterization of the DD’s operational pro le, and using it for focusing subsequent
testing to the functionality areas likely to be exercised over the DD deployment.
This thesis develops two novel and distinct methodologies to capture and an-
alyze the operational pro le of DDs. The rst { termed as the operational pro le
(OP) { is based on the characterization of the I/O tra c between a selected DD
and the rest of the OS kernel. The second { termed execution path pro le (EPP) {
observes the functional calls made by the respective DD in the operational phase,
thus revealing the code paths followed at runtime. Both presented approaches are
directly applicable to DD binaries as they do not require source-code level access
to any of the involved OS components.
This thesis develops the concepts and methodology for e ectively pro ling the
operational behavior of DDs. First, a state model is introduced for describing a
DD and its complete state space. Experimentally, we show that the DD’s opera-
tional state space (OSS) { the subset of states visited at runtime { represents only
a small fraction of the total state space, thus highlighting the areas to be tested.
Subsequently, occurrence- and duration-based quanti ers are de ned for each of
the DD states belonging to the OSS. This enables test prioritization and workload
comparisons which are the key factors for testing. This conceptual process’s ef-
fectiveness is tested using extensive case studies including over fty Windows XP
and Vista DDs.
The developed EPP is complementary to the OP as it discovers execution
hotspots as frequently traversed DD code paths. To highlight the
hotspots, a DD monitoring and code path analysis methodology is presented and
tested using actual Windows DD’s. Code paths are identi ed as call sequences
to kernel functions implemented externally to the selected DD. String similarity
metrics are used to compute the relative similarity among the inferred code paths.
Based on likeness, the code paths are grouped into equivalence classes helping
identify execution hotspots. These hotspots constitute primary targets for testing.
Overall the thesis develops novel pro ling approaches for testing generalized
OS’s. The research is also validated on actual Windows XP and Vista OSs.
iiiivKurzfassung
Betriebssysteme (BS) bilden den operativen Kern eines jeden Computers. Fur
eine einfache Anwendbarkeit auf verschiedenen Hardware-Plattformen haben sich
BS zu komplexen, aus Komponenten bestehenden Software-Einheiten entwickelt,
deren Hauptaufgabe darin besteht Anwendungen Zugri auf Systemressourcen zu
erm oglichen. Grunds atzlich h angen die bereitgestellten Systemdienste inh arent
von der Stabilit at des unterliegenden BSs ab. Die Komponenten, die innerhalb
eines BSs die dominierenden Verursacher von Ausf allen des BSs sind, sind die
Ger atetreiber, genauer gesagt die Teile des BSs, die entwickelt wurden um die
Hardware-Unterstutzung des BSs zu verbessern. Trotz intensiver Anstrengun-
gen das Robustheitsniveau von Ger atetreibern durch Anwendung verschiedener
Testparadigmen zu heben, zeigen existierende Testmethoden nach wie vor au erst
hohe Fehlerraten. Die Charakterisierung des operativen Pro ls von Ger atetreibern
und dessen Anwendung w ahrend der Entwicklung von Ger atetreibern zum ziel-
gerichteten Testen von mit hoher Wahrscheinlichkeit aufgerufenen Funktionen
bildet den Kernbeitrag der vorliegenden Arbeit.
Die vorliegende Arbeit beschreibt zwei neue Methoden um ein operatives Pro l
von Gerate treibern zu erstellen und zu analysieren. Die erste Methode | opera-
tional pro le (OP) genannt | basiert auf der Charakterisierung der Ein-/Ausgabe-
Kommunikation zwischen einem ausgew ahlten Ger atetreiber und dem Rest des BS-
Kerns. Die zweite Methode | execution path pro le (EPP) genannt | verfolgt die
vom entsprechenden Ger atetreiber w ahrend der Betriebsphase gemachten Funk-
tionsaufrufe, wobei die zur Laufzeit durchschrittenen Pfade im Code aufgezeigt
werden. Beide vorgestellten Ans atze k onnen direkt auf die ausfuhrbaren Dateien
von Ger atetreibern angewendet werden, weil kein Zugri auf den Quellcode einer
beteiligten BS-Komponente ben otigt wird.
Die vorliegende Arbeit pr asentiert Konzepte und Methoden zur e ektiven Pro-
lierung des operativen Verhaltens von Ger atetreibern. Zun achst wird ein Zu-
standsmodell eingefuh rt um einen Ger atetreiber und den kompletten Zustand-
sraum zu beschreiben. Wir zeigen mit Hilfe von Experimenten, dass der opera-
tive Zustandsraum (die Teilmenge von Zust anden, die zur Laufzeit besucht wer-
den) eines Ger atetreibers nur einen kleinen Anteil des gesamten Zustandsraums
ausmacht und somit die Gebiete im Zustandsraum hervorhebt, die vornehmlich
durch Tests abgedeckt werden mussen. Anschlie end werden fur jeden Zustand
des Ger atetreibers Quanti zierer, basierend auf dem (zeitlichen) Auftreten des
Zustandes, de niert. Dies erm oglicht Priorisierung von Tests und den Vergle-
ich von Arbeitslasten, welche die Schlusselfaktoren fur genaues und angemessenes
Testen sind. Die generelle E ektivit at des gesamten Prozesses wird anhand
von ausfuhrlic hen Fallstudien, die mehr als funfzig Windows XP und Vista
Ger atetreiber umfassen, erprobt.
Das EPP, welches ebenso in dieser Arbeit vorgestellt wird, ist komplemenart
zum OP weil es Ausfuhr ungs-Hotspots in Form von h au g durchschrittenen
Pfaden im Code au ndet. Um solche Ausfuhrungs-Hotsp ots hervorzuheben wird
veine Methode zum Monitoring von Ger atetreibern und zur Code-Pfad-Analyse
pr asentiert und an echten Windows-Gerate treibern getestet. Code-Pfade werden
als Sequenzen von BS-Kern-Funktionsaufrufen charakterisiert, die au erhalb des
gew ahlten Ger atetreibers implementiert sind. String- Ahnlichkeitsmetriken werden
herangezogen um die relative Ahnlichkeit zwischen den abgeleiteten Code-Pfaden
zu bestimmen. Die Code-Pfade werden, basierend auf Wahrscheinlichkeiten, in
Aquivalenzklassen unterteilt um das Identi zieren von Ausfuhrungs-Hotsp ots zu
erleichtern. Solche Hotspots bilden prim are Ziele fur das Testen.
Zusammenfassend entwickelt die vorliegende Arbeit neue Pro lierungsans atze
zum Testen allgemeiner BS. Die Forschungsarbeit wird an den realen Betriebssys-
temen Windows XP und Windows Vista validiert.
viAcknowledgements
Almost six years have passed since I started the work that eventually
crystallized into this PhD thesis. Looking back from today’s perspective, I
must admit that there was a lot of hard work but fun was always present. It
was hard as I had to learn how to do research, how to present my work and
how to be critical with other people’s work when it came to writing conference
reviews. It has been fun when socializing with the members of our group or
celebrating birthdays over home-made, international- avor dishes or cakes.
There are many people that helped me to whom I am very thankful. First
I’d like to thank my advisor for teaching me everything I know about doing
research. From him I learned that there is always a higher gear, but also
that research can be (sometimes) fun. Thanks, Neeraj !
Then, I am very thankful to all past and present DEEDS group’s members
for helping me, listening to my boring presentations and giving me feedback
on early drafts of my papers. Hoping not to forget anyone of the past and
present guys, many thanks to Andreas, Adina, Robert, Ripon, Brahim, Peter,
Dan, Marco, Faisal, Matthias, Majid, Azad, Piotr and Vinay. Also, special
thanks go to Birgit, Sabine and Ute for helping me with various paperwork,
for correcting and improving my German and all other circumstances related
to living in Germany. A great many thanks also to Prof. Christof Fetzer for
accepting to be my co-advisor.
I’d also like to thank my parents and brother for their continual support
and love which spanned the geographical distance separating us in all these
years. Thank you, Mama, Tata and Mai!
I saved the best for the last: Thank you Adina for all the understanding,
love and support that you always found for me all these years! Thank you
Daniel for making everythi

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents