Kursen består av föreläsningar, laborationer, ett seminarium och en skriftlig tentamen. Det finns sex hemtal som kamraträttas under föreläsningarna, och två laborationer.
FDD3557 Programsemantik och programanalys 7,5 hp

Att ge en semantik för ett programspråk betyder att ge en exakt definition av programbeteendet för program skrivna på detta språk. När språkets semantik har beskrivits formellt, kan man börja och bevisa olika programspråkegenskaper, bevisa korrektheten av programimplementeringar baserade på abstrakta maskiner, motivera olika programanalyser som används i syntaxorienterade redaktörer och programtransformationer som används i optimerande kompilatorer, och specificera och bevisa korrektheten hos konkreta program. Detta ger den formella grunden för ett antal olika programverktyg för programanalys, optimering och verifikation.
Information per kursomgång
Information för VT 2025 Start 2025-03-17 programstuderande
- Studielokalisering
KTH Campus
- Varaktighet
- 2025-03-17 - 2025-06-02
- Perioder
- P4 (7,5 hp)
- Studietakt
50%
- Anmälningskod
61299
- Undervisningsform
Normal Dagtid
- Undervisningsspråk
Engelska
- Kurs-PM
- Kurs-PM är inte publicerat
- Antal platser
Ingen platsbegränsning
- Målgrupp
- Ingen information tillagd
- Planerade schemamoduler
- [object Object]
- Schema
- Del av program
- Ingen information tillagd
Kontakt
Kursplan som PDF
Notera: all information från kursplanen visas i tillgängligt format på denna sida.
Kursplan FDD3557 (VT 2023–)Innehåll och lärandemål
Kursupplägg
Kursinnehåll
Del I. Operationell semantik och språkimplementering: naturlig semantik, strukturell operationell semantik, abstrakta maskiner, korrekt implementering av språk.
Del II. Denotationell semantik and programanalys: denotationell semantik, fixtpunktteori, programanalys och transformation.
Del III. Axiomatisk semantik and programverifikation: axiomatisk semantik, programspecifikation och verifikation, svagaste förutsättningar, generering av verifieringsvillkor.
Lärandemål
Efter avslutad kurs ska den framgångsrika doktoranden kunna:
- Redogöra för de huvudsakliga semantiska stilarna som används för att fånga programmens mening på ett formellt sätt, både i teori och på exempel.
- Relatera de olika semantiska stilarna och jämföra deras styrkor och svagheter.
- Använda dessa semantiska stilar för programanalys, optimering och verifiering, både i teorin och som en grund för mjukvaruverktyg.
- Utöka ett programmeringsspråk med nya språkfunktioner, och förlänga dess semantik i enlighet därmed.
- Bevisa formella egenskaper hos en given semantik.
Kurslitteratur och förberedelser
Särskild behörighet
Rekommenderade förkunskaper
Kurser i programmering, diskret matematik och matematisk logik.
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
Examination
- EXA1 - Examination, 7,5 hp, betygsskala: P, F
Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.
Examinator får medge annan examinationsform vid omexamination av enstaka studenter.
Övriga krav för slutbetyg
För att klara kursen måste doktorander bli godkända på hemtalen, laborationsuppgifterna, seminariet och den skriftliga tentamen.
Examinator
Etiskt förhållningssätt
- Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
- Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
- Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.