Del I. Operationell semantik och språkimplementation: naturlig semantik, strukturell operationell semantik, abstrakta maskiner, korrekthet av språkimplementation.
Del II. Denotationell semantik och programanalys: denotationell semantik, fixpunktsteori, abstrakt interpretation, programanalys och programtransformation.
Del III. Axiomatisk semantik och programverifikation: axiomatisk semantik, programspecifikation och verifikation, svagaste förutsättningar, generering av verifieringsvillkor.
Efter godkänd kurs ska studenten kunna
- konstruera tillståndsrummet för ett program som en grund för programbeteendeanalys
- översätta program till abstrakt maskinkod och exekvera den
- beräkna denotationen för ett program
- utöka ett programspråk med nya språkkonstruktioner och utöka dess semantik och abstrakta maskinimplementationer i enlighet därmed
- föreslå och motivera programtransformationer som stöds av en lämplig programanalys
- specificera och verifiera program i Hoares logik
- generera verifieringsvillkor för ett givet program och specifikation
- formellt relatera olika semantiska stilar
- formellt bevisa språkegenskaper som determinism och terminering
- formellt bevisa korrektheten för en given programtransformation genom att visa ekvivalens mellan originalprogrammet och det transformerade programmet
- formellt visa egenskaper för en given semantik.