Del I. Hoarelogik och deduktiv verifikation
1. Kodannotation: Java-modelleringsspråket JML
2. Automatiserad statisk analys: Svagaste förutsättningar
3. Korrekthet-vid-byggesmetoden till programmering
4. Spöktillstånd och kontrollflödesabstraktion
5. Modelltillstånd och dataabstraktion
6. Back-end: Automated Theorem Proving
Del II. Temporallogik och modellprovning
7. Kripkestrukturer och systemmodellering
8. Temporallogik och modellprovning: LTL och CTL
9. Mjukvarumodellprovning
Kursens övergripande syfte är att ge en fungerande förtrogenhet med de huvudsakliga metoderna och verktygen inom det formella metod-området, både teoretiskt och i praktiken.
Efter godkänd kurs ska studenterna kunna:
1. självständigt väja en lämplig modelleringsansats för ett givet enkelt problem,
2. informellt och formellt argumentera för det valda tillvägagångens sundhet och begränsningar,
3. identifiera, specificera och verifiera viktiga systemegenskaper med hjälp av lämpliga automatiserade eller semi-automatiserade verktyg,
4. korrekt tolka och utvärdera analysens resultat.
För att bli godkänd på kursen måste studenten visa förmåga att tillämpa metoderna som diskuteras i kursen. För högsta betyg måste studenten också vara skicklig i det teoretiska fundamentet för dessa metoder.