Thee Oor Ree Ties Ze Inf Or Ma Ti-ka: Deze Tijd Vraagt om Verificatie van Software Computers, Drugs en Rock & Roll Kunnen Computers Schaken ? Thee Oor Ree Ties Ze Inf Or Ma Ti-ka: Deze Tijd heeft Behoefte aan Verificatie van Software Is Informatica een Wetenschap ? Informatica draait om Informatie Berekening Communicatie Informatica is Divers Informatici vormen geen front Mooie Modellen Meer Mooie Modellen Meer Mooie Modellen Meer Mooie Modellen Lelijk Model Turing Machines q 0 1 1 0 1 1 0 0 Turing Machines r 0 1 1 0 0 1 0 0 Turing Machines s 0 1 1 0 0 1 0 0 Turing Machines q 0 1 1 0 1 1 0 0 Turing Machines t 0 1 1 0 1 0 0 0 Finite-State Machines r a a q s b a b b a u a t b b Grondleggers van de Procesalgebra Grondleggers van de Procesalgebra Vooruitblik Theoretisch onderzoek in de procesalgebra Formele verificatie van systemen I kwantitatieve aspecten I security-protocollen I biologische systemen Toepasbaarheid in de praktijk Congruentie voor Procesalgebra procesalgebra term Congruentie voor Procesalgebra procesalgebra term transitie-regels toestandsruimte Congruentie voor Procesalgebra procesalgebra term transitie-regels toestandsruimte equivalentie Congruentie voor Procesalgebra procesalgebra term transitie-regels Hennessy-Milner logica toestandsruimte equivalentie Congruentie voor Procesalgebra procesalgebra term transitie-regels Hennessy-Milner logica toestandsruimte equivalentie Congruentie voor Procesalgebra procesalgebra term transitie-regels Hennessy-Milner logica toestandsruimte equivalentie Vergelijkingen voor Procesalgebra Vergelijkingen voor Procesalgebra x +x = x Vergelijkingen voor Procesalgebra x +x = x x +y = y +x Vergelijkingen voor Procesalgebra x +x = x x +y = y +x x ky = y kx Axiomatizering voor Formele Talen x+y = y+x x + (y + z) = (x + y) + z x+x = x x+0 = x 0·x = 0 x·0 = 0 (x + y)·z = (x·z) + (y·z) 1·x = x x·(y + z) = (x·y) + (x·z) x·1 = x (x·y)·z = x·(y·z) x·(x∗ y) + y = x∗ y (x = y·x + z ∧ ¬ empty-word(y)) ⇒ x = y∗ z Axiomatizering voor Procesalgebra x+y = y+x x + (y + z) = (x + y) + z x+0 = x 0·x = 0 x+x = x (x + y)·z = (x·z) + (y·z) 1·x = x x·1 = x (x·y)·z = x·(y·z) x·(x∗ y) + y = x∗ y (x = y·x + z ∧ ¬ empty-word(y)) ⇒ x = y∗ z Verificatie-Tools Theorem Provers verificatie op symbolisch nivo Model Checkers verificatie van toestandsruimtes Theorem Provers zijn Arbeidsintensief Grote Toestandsruimtes Visuele weergave van een toestandsruimte met ongeveer 1 miljoen toestanden (Frank van Ham & Jan Friso Groote) Resultaten met tools moeten reproduceerbaar zijn Hwang Woo-suk uit Zuid-Korea bleek uiteindelijk geen menselijke stamcellen te hebben gekloond Functionele Eigenschappen De embedded controller van een gedistribueerd liftsysteem is uitvoerig geanalyseerd met behulp van model checken Niet-Functionele Eigenschappen Kwantitatieve aspecten I performance I probabilistiek Security-protocollen Biologische systemen Telkens Terugkerende Thema’s Ontwikkelen van formalismes voor het uitdrukken van te analyseren systemen en te verifieĢren eigenschappen Ontwikkelen van verificatie-algoritmes en inzetbaar maken van wiskundige technieken Implementeren van deze technologie in verificatie-tools Toepassen op case studies Het TIPSy Project Combineren van analyses van performance en functionele eigenschappen I Vertaling van χ naar µCRL I Discrete-tijd scheduling met tijdloze model checker I Beam search voor kwantitatief model checken Roddel-protocollen Integratie van Formele Verificatie en Wiskunde Voorbeeld van een Markov-keten Security op het Internet Het ACCOUNT Project Ontwerp en analyse van security protocollen voor e-commerce I Fair payment I Non-repudiation I Digital rights management I Public-key infrastructuur I Email I Verificatie van liveness eigenschappen Stemcomputers zijn Onveilig Fraude met Stemcomputers Moeilijk te Achterhalen Verified Voting Foundation De Cel als Mini-Computer Een Grand Challenge De rondworm Caenorhabditis elegans wordt in de biologie als modelorganisme gebruikt. Samenvatting Kwantitatieve analyse: Formalismes om systemen te specificeren en om eigenschappen uit te drukken zijn uitgekristalliseerd. De nadruk ligt op verificatie-algoritmes en wiskundige technieken. Security-protocollen: Formalismes zijn nog minder ver ontwikkeld, vooral voor het uitdrukken van security-eigenschappen. Cel-gedrag: Net uit de startblokken vertrokken. Bouwkunde versus Informatica Toepassingen in Ruimtevaart en Spoorwegen Ariane 5 raket (juni 1996) Amsterdam CS (mei 2004) “Ik heb het geluk dat ik in het juiste vakgebied werk, waarin correctheid van software het belangrijkste ‘open’ probleem is. Dit is moeilijk en uitdagend.” Gerard Holzmann Voortdurend Veranderende Visies Onderzoek is een Jurysport Microkredieten voor Onderzoek Dank wel! Goede Samenwerking binnen de Afdeling Informatica