02242 Programanalyse

2021/2022

Kursusinformation
Program Analysis
Engelsk
7,5
Kandidat
Kurset udbydes som enkeltfag
E2A (man 13-17)
Campus Lyngby
Forelæsninger, teoretiske og praktiske opgaver.
13-uger
E2A, Grundet antallet af studerende kan ekstra eksamensdage være nødvendige.
Mundtlig eksamen og bedømmelse af rapport(er)
En skriftlig rapport (30-40 sider plus appendices) udarbejdet som en del af et gruppearbejde er basis for en individuel mundtlig eksamination.
Skriftlige hjælpemidler er tilladt
7-trins skala , ekstern censur
02141 , De studerende forventes af have kendskab til regulære og kontekst-frie sprog såvel som semantik; denne baggrund kan opnås i kurset 02141. De studerende skal beherske mindst et programmeringssprog og være i stand til at udnytte de relevante data strukturer.
Flemming Nielson , Lyngby Campus, Bygning 321, Tlf. (+45) 4525 3735 , fnie@dtu.dk
Alberto Lluch Lafuente , Lyngby Campus, Bygning 321, Tlf. (+45) 4525 3736 , albl@dtu.dk
Christoph Matheja , chmat@dtu.dk
01 Institut for Matematik og Computer Science
http://www.imm.dtu.dk/courses/02242
I studieplanlæggeren
Overordnede kursusmål
De studerende vil kunne anvende basale programanalyse formalismer og vil kunne konstruere og anvende analyse værktøjer og teknikker der understøttes af disse formalismer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • forklare de basale begreber introduceret i kurset;
  • forklare konkrete analyser og deres anvendelse på simple programmer;
  • forklare målet med analyse frameworks og deres instanser;
  • formulere nye analyser som varianter af eksisterende analyser og kategorisere dem i de relevante analyse frameworks;
  • forklare semantiske såvel som algoritmiske aspekter relateret til konkrete analyser;
  • designe og konstruere et generisk software værktøj der understøtter analyser baseret på analyse frameworks;
  • designe og motivere en sekvens af eksperimenter som benytter det konstruerede værktøj og kunne fortolke de opnåede resultater;
  • opnå ovennævnte resultater som del af et gruppe arbejde men på en sådan måde at de individuelle bidrag kan identificeres;
  • kommunikere de opnåede resultater på en klar og præcis måde i en standard form for teknisk rapport; og
  • demonstrere evnen til at benytte relevante digital learning systems på FormalMethods.dk
Kursusindhold
Kurset dækker teknikker til programanalyse formuleret som monotone frameworks. Dette involverer det teoretiske fundament såvel som forskellige algoritmiske tilgangsvinker til løsning af constraint systemer. Der stiftes bekendtskab med anvendelser på sikkerhed og andre måder at beskrive programanalyser på.

De studerende vil skulle anvende en række klassiske program analyser til at udvikle et mindre analysesystem.
Litteraturhenvisninger
Kurset er baseret på "Program Analysis - an Appetizer" af F. Nielson, H. Riis Nielson (arXiv:2012.10086, 2020) og til dels på materiale fra "Principles of Program Analysis" af F. Nielson, H. Riis Nielson og C. Hankin (Springer, 2005, ISBN 3-540-65410-0).
Yderligere materiale vil blive gjort tilgængelig på DTU's intranet ligesom systemerne på FormalMethods.dk vil blive benyttet.
Sidst opdateret
08. november, 2021