INF9906 - Selected topics in static analysis
|
||||||||||||||||
Course content
Programming errors are, depending on the application, annoying till intolerable. Many theoretical methods have been developed to prove the correctness of programs. However, in practice the effort to verify realistic programs is immense, or often even unmanagable, so these methods are applied only in the most safety-critical applications and/or in special areas, for instance, hardware verification. To routinely eliminate errors in industrial programs, in contrast, only methods which identify a wide range of often encountered program errors efficiently and automatically, are acceptable.
Static analysis is a generic term for many such approaches. Examples of such approaches are
- identify type inconsistencies by type checking,
- potential nil-pointer derefencing,
- security checks when downloading Java-applets,
- estimations of communication overhead, and
- resource bound checkes.
The name ``static'' analysis is justified by the fact that the anylysis is done at compile time, not at run time,
The course treats selected topics from the text book [NNH99] , e.g.,
- data flow analysis and control flow analysis
- interprocedural analysis
- abstract interpretation
- type- and effect systems
- algorithmic questions
[NHH99] Flemming Nielson, H.R. Nielson, C. Hankin. Principles of Program Analysis. Springer-Verlag 1999.
Learning outcomes
The course gives an introduction to static analysis, emphasizing some basic techniques. You will learn about the principles behind static analysis and how to apply basic analysis techniques.
Admission
Students at UiO must apply for courses in StudentWeb.
International applicants, if you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.
The examination in this course is not available for external candidates. Only students admitted to the course may sit for the examination.
Prerequisites
Recommended prior knowledge
logic, for example INF3170 - Logic.
Teaching
2 hours lecture per week.
In addition, each PhD student is expected to give an oral presentation on a topic of relevance (chosen in cooperation with the lecturer). The presentation has to be approved by the lecturer for the student to be admitted to the final exam.
Teaching takes place throughout the semester.
Criteria for access to teaching resources
A student who has completed compulsory instruction and coursework and has had these approved, is not entitled to repeat that instruction and coursework. A student who has been admitted to a course, but who has not completed compulsory instruction and coursework or had these approved, is entitled to repeat that instruction and coursework, contingent on available capacity.
Exam information
Assessment and grading
Students are awarded either a passing or a failing grade. Read more about the grading system .
Explanations and appeals
Students can request an explanation of their grades, and can also appeal against their grades or make a complaint about formal examination errors. Read more about explanations and appeals
Possibility of make-up exams and re-takes
You can usually resit an exam, but the conditions depend on whether you had a valid reason for absence from the regular exam. Read more about resitting an exam .
Exam options for students with special needs
Students may apply for access to alternative exam resources or exam forms on the basis of chronic illness and/or special needs that create a marked disadvantage to other students in the exam situation. Mothers who are breastfeeding may apply for extra time to complete the exam.
Evaluation of this course
Feedback from our students is essential to us in our efforts to ensure and further improve the high quality of our programmes and courses. As a student at the University of Oslo you will therefore be asked to participate in various types of evaluation of our courses, facilities and services. All courses are subject to continuous evaluation. At regular intervals we also ask students on a particular course to participate in a more comprehensive, in-depth evaluation of this course, a so called "periodic evaluation".
Contact us
Department of Informatics (Ifi)
Visiting address:
Informatics builidng, First floor, room 2316, Gaustadalléen 23
Visiting hours:
Monday-friday 12:00-15:00
Postal address:
P.o.Box 1080, Blindern
NO-0316 Oslo
Fax: +47 22 85 24 01
E-mail: studieinfo@ifi.uio.no
Web: http://www.mn.uio.no/ifi/english/