Thee Oor Ree Ties Ze Inf Or Ma Ti

advertisement
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
Download