IT-Universitetet i København mit.ITU
Skift kodeord   English    Printervenlig
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Automated Software Analysis  Help
Kursusnavn (engelsk):Automated Software Analysis  Help
Semester:Efterår 2018  Help
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt)  Help
Omfang i ECTS:7,50  Help
Kursussprog:Engelsk  Help
Kursushjemmeside:https://learnit.itu.dk  Help
Min. antal deltagere: Help
Forventet antal deltagere: Help
Maks. antal deltagere:35  Help
Formelle forudsætninger:Discrete mathematics
Introductory programming 
I øvrigt skal man opfylde IT-Universitetets generelle optagelseskrav. Help
Læringsmål:- Describe formally the meaning of a wide range of programming constructs
- Explain fundamental concepts/techniques/results regarding semantics of
- programming languages
- Reason About semantic descriptions of programming languages
- Prove simple properties (structural induction)
- Analyze programs (program analysis)
- Discuss possibilities and limitations of automated static analysis  Help
Fagligt indhold:This course is about "Automated Software Analysis". You will learn
how to automatically analyze software and how code analyzers work
(such as "Coverity" and Facebook's "Infer" code analysis tool).

The course is devided into four parts:

First, we will study "operational semantics", which we will need as a
foundation to understand and reason about what a program does. (Also,
we will use this to establish properties of the programming languages
themselves.)

Second, we will look at how to automatically detect errors in
programs. Specifically, we will study "dataflow analysis" which is
based on operational semantics and capable of automatically tracking
how data flows through a program.

Third, we cover program analysis "tools" designed for automatically
finding errors in programs. We will use these tools on non-trivial
programs to help ensure their correctness and go into depth on exactly
how these tools obtain their results.

Finally, the students will do a project in small groups in either of
the three parts above (your choice). The project can be either
theoretically or practically oriented (or a combination of both).  Help
Læringsaktiviteter:

The course starts with lectures and exercises and finishes with a project. At that point there are no more (or at least very few) lectures  Help

Obligatoriske aktivititer:Ten individual weekly assignments. A student must pass eight of them. Submission time Mondays 08:00.

— If a student fails an assignment he/she will have one chance to submit in again the following week with the same deadline as the next assignment. If a student fails that assignment as well there will be no more opportunities submit in that particular assignment.

—In order to be eligible for a second attempt the student must have made a serious attempt to submit the original assignment. Missing or incomplete assignments are not considered serious attempts. Later submissions are allowed only under very special circumstances.

— There will be a mandatory lecture where the projects are presented in front of the class. Exemptions can be given in very special circumstances, but otherwise attendance and participation is mandatory.

Be aware: The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt  Help
Eksamensform og -beskrivelse:D2G Aflevering med mundtlig eksamen der supplerer projekt. Delt ansvar for projekt., (7-scale, external exam)

Submission:
- One four-week project in groups of two (minimum) or three (maximum) with shared responsibility.
— The project can focus on the theoretical aspects of the course, the practical aspects, or a combination of both.
— A report of 15 pages must be submitted.
— Deadline for project submissions (see TimeEdit) and presentation: TBA, but towards the end of the course.
- 30 minutes individual oral exam.   Help

 
Undervisere
Følgende personer underviser på kurset:
NavnStillingUndervisertypeIndsats (%)
Claus Brabrand Lektor(ITU) Underviser 50
Jesper Bengtson Lektor(ITU) Kursusansvarlig 50


 

Webmaster
2019-05-22