Institut für Informatik und Computational Science
Refine
Year of publication
Document Type
- Doctoral Thesis (206) (remove)
Keywords
- Maschinelles Lernen (7)
- Antwortmengenprogrammierung (6)
- Machine Learning (6)
- Modellierung (5)
- answer set programming (4)
- Answer Set Programming (3)
- Ontologie (3)
- Semantic Web (3)
- machine learning (3)
- Algorithmen (2)
- Algorithms (2)
- Bildungstechnologien (2)
- Bildverarbeitung (2)
- Codierungstheorie (2)
- Computergrafik (2)
- Computersicherheit (2)
- Coq (2)
- Deep Learning (2)
- EEG (2)
- Educational Technologies (2)
- FMC (2)
- Fehlererkennung (2)
- HCI (2)
- ICA (2)
- Informatik (2)
- Knowledge Representation and Reasoning (2)
- Komplexität (2)
- Künstliche Intelligenz (2)
- Mensch-Computer-Interaktion (2)
- Middleware (2)
- Modeling (2)
- Modell (2)
- Ontology (2)
- Optimierung (2)
- Process (2)
- Prozess (2)
- Prozessmodellierung (2)
- Software Engineering (2)
- Softwareentwicklung (2)
- Synthese (2)
- Systemstruktur (2)
- Texturen (2)
- Visualisierung (2)
- Vorhersage (2)
- computer graphics (2)
- human computer interaction (2)
- image processing (2)
- maschinelles Lernen (2)
- model (2)
- non-photorealistic rendering (2)
- systems biology (2)
- test (2)
- textures (2)
- virtual 3D city models (2)
- virtuelle 3D-Stadtmodelle (2)
- visualization (2)
- 'Peer To Peer' (1)
- 3D Computer Grafik (1)
- 3D Computer Graphics (1)
- 3D Drucken (1)
- 3D Semiotik (1)
- 3D Visualisierung (1)
- 3D computer graphics (1)
- 3D printing (1)
- 3D semiotics (1)
- 3D visualization (1)
- 3D-Stadtmodelle (1)
- 3d city models (1)
- 6LoWPAN (1)
- ASIC (1)
- ASIC (Applikationsspezifische Integrierte Schaltkreise) (1)
- ASP (Answer Set Programming) (1)
- Abbrecherquote (1)
- Abstraktion (1)
- Ackerschmalwand (1)
- Active Evaluation (1)
- Adaptivity (1)
- Adaptivität (1)
- Adversarial Learning (1)
- Aktive Evaluierung (1)
- Algorithmenablaufplanung (1)
- Algorithmenkonfiguration (1)
- Algorithmenselektion (1)
- Android Security (1)
- Angewandte Spieltheorie (1)
- Anisotroper Kuwahara Filter (1)
- Anleitung (1)
- Answer Set Solving modulo Theories (1)
- Antwortmengen Programmierung (1)
- Application Aggregation (1)
- Applications and Software Development (1)
- Applied Game Theory (1)
- Argumentation (1)
- Artificial Intelligence (1)
- Artificial Neuronal Network (1)
- Aspect-Oriented Programming (1)
- Aspektorientierte Programmierung (1)
- Asynchrone Schaltung (1)
- Attention (1)
- Aufmerksamkeit (1)
- Augenbewegungen (1)
- Ausreissererkennung (1)
- Autism (1)
- Autismus (1)
- Automatic UI Generation (1)
- BCH (1)
- BCH code (1)
- BCH-Code (1)
- BCI (1)
- BSS (1)
- Bachelorstudierende der Informatik (1)
- Baumweite (1)
- Behavior (1)
- Benutzeroberfläche (1)
- Benutzungsschnittstellen Ontologien (1)
- Berührungseingaben (1)
- Betrachtungsebenen (1)
- Beweis (1)
- Beweisassistent (1)
- Beweistheorie (1)
- Beweisumgebung (1)
- Bilddatenanalyse (1)
- Binäres Entscheidungsdiagramm (1)
- Bioelektrisches Signal (1)
- Bioinformatik (1)
- Boolean constraint solver (1)
- Boosting (1)
- Brain Computer Interface (1)
- Business Process (1)
- Business Process Models (1)
- CASP (Constraint Answer Set Programming) (1)
- CSC (1)
- Cactus (1)
- CertiCoq (1)
- Choreographien (1)
- CityGML (1)
- Classification (1)
- Cloud Computing (1)
- Cloud computing (1)
- Clusteranalyse (1)
- Code (1)
- Coding theory (1)
- Common Spatial Pattern (1)
- Complementary Circuits (1)
- Complexity (1)
- Compliance (1)
- Composed UIs (1)
- Composition (1)
- Computational Complexity (1)
- Computer Science (1)
- Conceptual (1)
- Constructive solid geometry (1)
- Covariate Shift (1)
- Curry (1)
- DDoS (1)
- DPLL (1)
- Data Privacy (1)
- Datenschutz (1)
- Declarative Problem Solving (1)
- Dempster-Shafer-Theorie (1)
- Dempster–Shafer theory (1)
- Description Logics (1)
- Deskriptive Logik (1)
- Diagonalisierung (1)
- Dialog-based User Interfaces (1)
- Dialogbasierte Benutzerschnittstellen (1)
- Didaktik (1)
- Didaktik der Informatik (1)
- Dienst-Ökosysteme (1)
- Dienstkomposition (1)
- Dienstplattform (1)
- Differenz von Gauss Filtern (1)
- Digital Design (1)
- Digital Media (1)
- Digitale Medien (1)
- Digitalisation (1)
- Digitalisierung (1)
- Distributed Computing (1)
- Domain-Specific Languages (1)
- Domänenspezifische Sprachen (1)
- Dreidimensionale Computergraphik (1)
- Dynamic Programming (1)
- Dynamische Programmierung (1)
- Dynamische Rekonfiguration (1)
- E-Government (1)
- E-Learning (1)
- Eingabegenauigkeit (1)
- Elektroencephalographie (1)
- Emotionen (1)
- Emotionsforschung (1)
- Enterprise Architecture (1)
- Enterprise Search (1)
- Entscheidungsbäume (1)
- Entwurf (1)
- Entwurfsmuster für SOA-Sicherheit (1)
- Entwurfsprinzipien (1)
- Entwurfsraumexploration (1)
- Erfüllbarkeit einer Formel der Aussagenlogik (1)
- Erfüllbarkeitsproblem (1)
- Erklärbarkeit (1)
- Error Estimation (1)
- Error-Detection Circuits (1)
- Evaluierung semantischer Suchmaschinen (1)
- Evidenztheorie (1)
- Explainability (1)
- Exploration (1)
- Exponential Time Hypothesis (1)
- Exponentialzeit Hypothese (1)
- FMC-QE (1)
- FPGA (1)
- Feature Combination (1)
- Feedback (1)
- Fehlende Daten (1)
- Fehlerkorrektur (1)
- Fehlerschätzung (1)
- Fehlvorstellung (1)
- Flussgesteuerter Bilateraler Filter (1)
- Focus+Context Visualization (1)
- Fokus-&-Kontext Visualisierung (1)
- Formalismus (1)
- Formalitätsgrad (1)
- Formeln der quantifizierten Aussagenlogik (1)
- Forschendes Lernen (1)
- GIS-Dienstkomposition (1)
- GPU (1)
- Gebäudemodelle (1)
- Gehirn-Computer-Schnittstelle (1)
- Geländemodelle (1)
- Generalisierung (1)
- Generative Programmierung (1)
- Generative Programming (1)
- Geodaten (1)
- Geometrieerzeugung (1)
- Geovisualisierung (1)
- Geräte-Treiber (1)
- Geschäftsprozess (1)
- Geschäftsprozessmodelle (1)
- Gesichtsausdruck (1)
- Globus (1)
- Grammatikalische Inferenz (1)
- Graph-basiertes Ranking (1)
- Grid (1)
- Grid Computing (1)
- Grounding Theory (1)
- Hardware Design (1)
- Hardware-Software-Co-Design (1)
- Hauptkomponentenanalyse (1)
- High-Level Synthesis (1)
- Hochschulsystem (1)
- Human-Technology Interaction (1)
- I/O-effiziente Algorithmen (1)
- IP core (1)
- IT security (1)
- IT-Security (1)
- IT-Sicherheit (1)
- Industrie 4.0 (1)
- Industry 4.0 (1)
- Informatik-Studiengänge (1)
- Informatikvoraussetzungen (1)
- Information Transfer Rate (1)
- Informationsextraktion (1)
- Inkonsistenz (1)
- Inquiry-based learning (1)
- Interactive Rendering (1)
- Interactive system (1)
- Interaktionsmodel (1)
- Interaktionsmodellierung (1)
- Interaktionstechniken (1)
- Interaktives Rendering (1)
- Interaktives System (1)
- Internet Security (1)
- Internet applications (1)
- Internet of Things (1)
- Internet-Sicherheit (1)
- Internetanwendungen (1)
- Interoperability (1)
- Interoperabilität (1)
- Interpretability (1)
- Interpretierbarkeit (1)
- Intuition (1)
- IoT (1)
- Java Security Framework (1)
- Kartografisches Design (1)
- Kern-PCA (1)
- Kernmethoden (1)
- Klassifikation (1)
- Klassifikation mit großem Margin (1)
- Klassifikator-Kalibrierung (1)
- Klimafolgenanalyse (1)
- Klimawandel (1)
- Knowledge (1)
- Knowledge Management (1)
- Kommunikation (1)
- Kompilation (1)
- Komplexitätsbewältigung (1)
- Komplexitätstheorie (1)
- Komposition (1)
- Konzeptionell (1)
- Kybernetik (1)
- Künstliche Neuronale Netzwerke (1)
- LDPC code (1)
- LDPC-Code (1)
- Landmarken (1)
- Large Margin Classification (1)
- Laser Cutten (1)
- Learning (1)
- Lehrer (1)
- Leistungsfähigkeit (1)
- Leistungsvorhersage (1)
- Lernen (1)
- Linked Data Anwendungen (1)
- Linked Data Application Modelling (1)
- Linux (1)
- Linux device drivers (1)
- Logik (1)
- Logiksynthese (1)
- Lower Bounds (1)
- MEG (1)
- MQTT (1)
- Magnetoencephalographie (1)
- Malware (1)
- Mathematical Optimization (1)
- Mathematikdidaktik (1)
- Mathematikphilosophie (1)
- Mathematische Optimierung (1)
- Matrizen-Eigenwertaufgabe (1)
- Megamodel (1)
- Megamodell (1)
- Mehrklassen-Klassifikation (1)
- Mensch-Technik-Interaktion (1)
- Message Passing Interface (1)
- Metamodell (1)
- Methoden der semantischen Suche (1)
- Methodik (1)
- Methodology (1)
- Migration (1)
- Mischmodelle (1)
- Mischung <Signalverarbeitung> (1)
- Mobilgeräte (1)
- Model Based Engineering (1)
- Model Checking (1)
- Model Driven Architecture (1)
- Model Driven UI Development (1)
- Model Management (1)
- Model-Driven Engineering (1)
- Model-Driven Software Development (1)
- Modell Management (1)
- Modell-driven Security (1)
- Modell-getriebene Sicherheit (1)
- Modellbasiert (1)
- Modellgetriebene Architektur (1)
- Modellgetriebene Entwicklung (1)
- Modellgetriebene Softwareentwicklung (1)
- Modellgetriebene UI Entwicklung (1)
- Modelling (1)
- Molekulare Bioinformatik (1)
- Multi Task Learning (1)
- Multi-Class (1)
- Multi-Task-Lernen (1)
- Multimodal User Interfaces (1)
- Multimodale Benutzerschnittstellen (1)
- Multiprocessor (1)
- Multiprozessor (1)
- NETCONF (1)
- Network Management (1)
- Netzwerk Management (1)
- Netzwerke (1)
- Neuronales Netz (1)
- New On-Line Error-Detection Methode (1)
- Next Generation Network (1)
- Nicht-photorealistisches Rendering (1)
- Nichtfotorealistische Bildsynthese (1)
- Nutzungsinteresse (1)
- Objektive Schwierigkeit (1)
- Ontologien (1)
- Ontologies (1)
- Open Source (1)
- Optimierungsproblem (1)
- Optimization (1)
- Owner-Retained Access Control (ORAC) (1)
- Parallel Programming (1)
- Parallele Datenverarbeitung (1)
- Paralleles Rechnen (1)
- Parallelrechner (1)
- Parameterized Complexity (1)
- Parametrisierte Komplexität (1)
- Patterns (1)
- Peer-to-Peer-Netz ; GRID computing ; Zuverlässigkeit ; Web Services ; Betriebsmittelverwaltung ; Migration (1)
- Performance (1)
- Performance Prediction (1)
- Platzierung (1)
- Policy Enforcement (1)
- Policy Languages (1)
- Policy Sprachen (1)
- Power Monitoring (1)
- Pre-RS Traceability (1)
- Prediction Game (1)
- Predictive Models (1)
- Preference Handling (1)
- Privacy Protection (1)
- Probleme in der Studie (1)
- Process Management (1)
- Process modeling (1)
- Professoren (1)
- Programmierung (1)
- Proof Theory (1)
- Prozess Verbesserung (1)
- Prozesse (1)
- Prozessmanagement (1)
- Prozessmodell (1)
- Prozesssynchronisierung (1)
- Prädiktionsspiel (1)
- Präferenzen (1)
- Quantified Boolean Formula (QBF) (1)
- Quantitative Modeling (1)
- Quantitative Modellierung (1)
- Queuing Theory (1)
- Reconfigurable (1)
- Regression (1)
- Regularisierung (1)
- Regularization (1)
- Rekonfiguration (1)
- Rendering (1)
- Reparatur (1)
- Reuseable UIs (1)
- SMT (SAT Modulo Theories) (1)
- SOA Security Pattern (1)
- STG decomposition (1)
- STG-Dekomposition (1)
- Sample Selection Bias (1)
- Satisfiability (1)
- Scalability (1)
- Scene graph systems (1)
- Schulmaterial (1)
- Security Modelling (1)
- Segmentierung (1)
- Selektionsbias (1)
- Self-Checking Circuits (1)
- Semantic Search (1)
- Semantik Web (1)
- Semantische Suche (1)
- Sensornetzwerke (1)
- Service Creation (1)
- Service Delivery Platform (1)
- Service Ecosystems (1)
- Service Oriented Architectures (1)
- Service convergence (1)
- Service-Orientierte Architekturen (1)
- Service-oriented Architectures (1)
- Serviceorientierte Architektur (1)
- Sicherheitsmodellierung (1)
- Signal Processing (1)
- Signalquellentrennung (1)
- Signaltrennung (1)
- Simulation (1)
- Simultane Diagonalisierung (1)
- Single Event Transient (1)
- Single Trial Analysis (1)
- Skalierbarkeit (1)
- Skelettberechnung (1)
- Software (1)
- Software architecture (1)
- Software-basierte Cache-Kohärenz (1)
- Softwarearchitektur (1)
- Sonnenteilchen-Ereignis (1)
- Spam (1)
- Spam Filtering (1)
- Spam-Erkennung (1)
- Spam-Filter (1)
- Spam-Filtering (1)
- Spatio-Spectral Filter (1)
- Spawning (1)
- Speicher (1)
- Spielbasiertes Lernen (1)
- Sprachdesign (1)
- Static Analysis (1)
- Statistical Tests (1)
- Statistische Tests (1)
- Stilisierung (1)
- Strahlungshartes Design (1)
- Strahlungshärte Entwurf (1)
- Stromverbrauchüberwachung (1)
- Structuring (1)
- Strukturierung (1)
- Studentenerwartungen (1)
- Studentenhaltungen (1)
- Support Vectors (1)
- Support-Vector Lernen (1)
- System Biologie (1)
- System structure (1)
- Systembiologie (1)
- Systementwurf (1)
- Szenengraph (1)
- Tailored UI Variants (1)
- Taktik (1)
- Telekommunikation (1)
- Temporal Answer Set Solving (1)
- Temporal Logic (1)
- Temporallogik (1)
- Temporäre Anbindung (1)
- Terminologische Logik (1)
- Test (1)
- Theoretischen Vorlesungen (1)
- Time Augmented Petri Nets (1)
- Time Series Analysis (1)
- Traceability (1)
- Tracking (1)
- Transformation (1)
- Treewidth (1)
- UI Components (1)
- UI Metamodels (1)
- UI-Komponenten (1)
- Unabhängige Komponentenanalyse (1)
- Universität Bagdad (1)
- Universität Potsdam (1)
- Universitätseinstellungen (1)
- Untere Schranken (1)
- Unterrichtswerkzeuge (1)
- Unvollständigkeit (1)
- Usage Interest (1)
- User Interface Ontologies (1)
- User Interfaces (1)
- VM (1)
- Verhalten (1)
- Verifikation (1)
- Verletzung Auflösung (1)
- Verletzung Erklärung (1)
- Verteiltes Rechnen (1)
- Verteilungsunterschied (1)
- Violation Explanation (1)
- Violation Resolution (1)
- Virtual Reality (1)
- Vorhersagemodelle (1)
- Wahrnehmung (1)
- Wahrnehmung von Arousal (1)
- Wahrnehmungsunterschiede (1)
- Warteschlangentheorie (1)
- Web Services (1)
- Web Sites (1)
- Web of Data (1)
- Webseite (1)
- Well-structuredness (1)
- Wetterextreme (1)
- Wirtschaftsinformatik (1)
- Wissen (1)
- Wissenschaftlichesworkflows (1)
- Wissensmanagement (1)
- Wissensrepräsentation und -verarbeitung (1)
- Wissensrepräsentation und Schlussfolgerung (1)
- Wohlstrukturiertheit (1)
- ZQSA (1)
- ZQSAT (1)
- Zeitbehaftete Petri Netze (1)
- Zero-Suppressed Binary Decision Diagram (ZDD) (1)
- Zuverlässigkeitsanalyse (1)
- abstraction (1)
- adaptiv (1)
- adaptive (1)
- algorithm configuration (1)
- algorithm scheduling (1)
- algorithm selection (1)
- anisotropic Kuwahara filter (1)
- approximate joint diagonalization (1)
- argumentation (1)
- arousal perception (1)
- artificial intelligence (1)
- assistive Technologien (1)
- assistive technologies (1)
- asynchronous circuit (1)
- bild (1)
- biometrics (1)
- biometrische Identifikation (1)
- blind source separation (1)
- building models (1)
- business informatics (1)
- cartographic design (1)
- changing the study field (1)
- changing the university (1)
- choreographies (1)
- classifier calibration (1)
- classroom material (1)
- climate change (1)
- climate impact analysis (1)
- clustering (1)
- code (1)
- coherence-enhancing filtering (1)
- communication (1)
- compilation (1)
- complexity (1)
- computational biology (1)
- computational methods (1)
- computer science education (1)
- computer security (1)
- computergestützte Methoden (1)
- concurrent checking (1)
- constraints (1)
- decision trees (1)
- degree of formality (1)
- design (1)
- design principles (1)
- design space exploration (1)
- didactics (1)
- didaktische Rekonstruktion (1)
- difference of Gaussians (1)
- digital circuit (1)
- digital design (1)
- dropout (1)
- dynamic (1)
- dynamic classification (1)
- dynamic reconfiguration (1)
- dynamisch (1)
- dynamische Klassifikation (1)
- e-Learning (1)
- eGovernment (1)
- educational reconstruction (1)
- eingebettete Systeme (1)
- einseitige Kommunikation (1)
- email spam detection (1)
- embedded systems (1)
- emotion (1)
- emotion representation (1)
- emotion research (1)
- enterprise search (1)
- entity alignment (1)
- error correction (1)
- error detection (1)
- evidence theory (1)
- external memory algorithms (1)
- eye movements (1)
- face tracking (1)
- facial expression (1)
- flow-based bilateral filter (1)
- formalism (1)
- game based learning (1)
- generalization (1)
- geometry generation (1)
- geospatial data (1)
- geospatial services (1)
- geovisualization (1)
- grammar inference (1)
- graph clustering (1)
- graph-based ranking (1)
- hardware design (1)
- hardware-software-codesign (1)
- higher education (1)
- hybrid (1)
- hybrid semantic search (1)
- hybride semantische Suche (1)
- hybrides Problemlösen (1)
- image (1)
- image data analysis (1)
- incompleteness (1)
- inconsistency (1)
- independent component analysis (1)
- indirect economic impacts (1)
- indirekte ökonomische Effekte (1)
- informatics (1)
- information extraction (1)
- information retrieval (1)
- informatische Bildung im Sekundarbereich (1)
- input accuracy (1)
- interaction modeling (1)
- interaction techniques (1)
- intuition (1)
- kernel PCA (1)
- kernel methods (1)
- konvergente Dienste (1)
- landmarks (1)
- language design (1)
- linear code (1)
- linearer Code (1)
- logic (1)
- logic programming (1)
- logic synthesis (1)
- logical signaling networks (1)
- logische Ergänzung (1)
- logische Programmierung (1)
- logische Signalnetzwerke (1)
- macro-economic modelling (1)
- makroökonomische Modellierung (1)
- malware detection (1)
- map/reduce (1)
- maschninelles Lernen (1)
- mathematics education (1)
- medical (1)
- medizinisch (1)
- meta model (1)
- middleware (1)
- misconception (1)
- mixture models (1)
- mobile devices (1)
- model-based (1)
- model-driven architecture (1)
- modeling (1)
- molecular networks (1)
- molekulare Netzwerke (1)
- multi core data processing (1)
- multi-class classification (1)
- networks-on-chip (1)
- neue Online-Fehlererkennungsmethode (1)
- nichtlineare ICA (1)
- nichtlineare PCA (NLPCA) (1)
- nichtlineare Projektionen (1)
- nonlinear ICA (1)
- nonlinear PCA (NLPCA) (1)
- nonlinear projections (1)
- objective difficulty (1)
- on-chip (1)
- one-sided communication (1)
- oneM2M (1)
- online assistance (1)
- ontologies (1)
- open source (1)
- optimization (1)
- outlier detection (1)
- output space compaction (1)
- overcomplete ICA (1)
- parallel programming (1)
- parallel solving (1)
- parallele Programmierung (1)
- paralleles Lösen (1)
- pattern recognition (1)
- perception (1)
- perception differences (1)
- philosophy of mathematics (1)
- physical Computing (1)
- physical computing (1)
- placement (1)
- prediction (1)
- preferences (1)
- priorities (1)
- probabilistic deep learning (1)
- probabilistic deep metric learning (1)
- probabilistische tiefe neuronale Netze (1)
- probabilistisches tiefes metrisches Lernen (1)
- process (1)
- process improvement (1)
- process model (1)
- process modelling (1)
- process synchronization (1)
- professors (1)
- proof (1)
- proof assistant (1)
- proof environment (1)
- propagation probability (1)
- radiation hardness (1)
- radiation hardness design (1)
- reconfiguration (1)
- rekonfigurierbar (1)
- reliability assessment (1)
- repair (1)
- robust ICA (1)
- robuste ICA (1)
- scheduling (1)
- scientific workflows (1)
- secondary computer science education (1)
- segmentation (1)
- selbstanpassendes Multiprozessorsystem (1)
- selbstprüfende Schaltungen (1)
- self-adaptive multiprocessing system (1)
- semantic domain modeling (1)
- semantic ranking (1)
- semantic search (1)
- semantic search evaluation (1)
- semantic search methods (1)
- semantische Domänenmodellierung (1)
- semantische Suche (1)
- semantisches Netz (1)
- semantisches Ranking (1)
- service composition (1)
- sign language (1)
- single event upset (1)
- skeletonization (1)
- software (1)
- software development (1)
- software engineering (1)
- software-based cache coherence (1)
- solar particle event (1)
- speed independence (1)
- strahleninduzierte Einzelereignis-Effekte (1)
- structured output prediction (1)
- strukturierte Vorhersage (1)
- study problems (1)
- stylization (1)
- synthesis (1)
- tactic (1)
- teachers (1)
- temporary binding (1)
- terrain models (1)
- tools for teaching (1)
- topics (1)
- touch input (1)
- transformation (1)
- tutorial section (1)
- unidirektionale Fehler (1)
- user interfaces (1)
- verification (1)
- virtual machine (1)
- weather extremes (1)
- zero-aliasing (1)
- überbestimmte ICA (1)
This thesis presents an attempt to use source code synthesised from Coq formalisations of device drivers for existing (micro)kernel operating systems, with a particular focus on the Linux Kernel.
In the first part, the technical background and related work are described. The focus is here on the possible approaches to synthesising certified software with Coq, namely the extraction to functional languages using the Coq extraction plugin and the extraction to Clight code using the CertiCoq plugin. It is noted that the implementation of CertiCoq is verified, whereas this is not the case for the Coq extraction plugin. Consequently, there is a correctness guarantee for the generated Clight code which does not hold for the code being generated by the Coq extraction plugin. Furthermore, the differences between user space and kernel space software are discussed in relation to Linux device drivers. It is elaborated that it is not possible to generate working Linux kernel module components using the Coq extraction plugin without significant modifications. In contrast, it is possible to produce working user space drivers both with the Coq extraction plugin and CertiCoq. The subsequent parts describe the main contributions of the thesis.
In the second part, it is demonstrated how to extend the Coq extraction plugin to synthesise foreign function calls between the functional language OCaml and the imperative language C. This approach has the potential to improve the type-safety of user space drivers. Furthermore, it is shown that the code being synthesised by CertiCoq cannot be used in kernel space without modifications to the necessary runtime. Consequently, the necessary modifications to the runtimes of CertiCoq and VeriFFI are introduced, resulting in the runtimes becoming compatible components of a Linux kernel module. Furthermore, justifications for the transformations are provided and possible further extensions to both plugins and solutions to failing garbage collection calls in kernel space are discussed.
The third part presents a proof of concept device driver for the Linux Kernel. To achieve this, the event handler of the original PC Speaker driver is partially formalised in Coq. Furthermore, some relevant formal properties of the formalised functionality are discussed. Subsequently, a kernel module is defined, utilising the modified variants of CertiCoq and VeriFFI to compile a working device driver. It is furthermore shown that it is possible to compile the synthesised code with CompCert, thereby extending the guarantee of correctness to the assembly layer. This is followed by a performance evaluation that compares a naive formalisation of the PC speaker functionality with the original PC Speaker driver pointing out the weaknesses in the formalisation and possible improvements. The part closes with a summary of the results, their implications and open questions being raised.
The last part lists all used sources, separated into scientific literature, documentations or reference manuals and artifacts, i.e. source code.