185.276 Analysis and Verification
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2013S, VU, 2.0h, 3.0EC, to be held in blocked form

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise

Aim of course

The participants acquire a profound theoretical and practical
understanding of fundamental concepts and principles of program
analysis, verification, and transformation which enables them to apply
techniques and tools resting on them competently and adequately, and
to well-groundedly assess the strengths and limitations of approaches
to program analysis, verification, and transformation, in particular
of automatic ones.

Subject of course

The course is concerned with concepts and principles of basic and
advanced approaches for the analysis and verification of software
systems with a focus on the concepts of soundness, completeness, and
optimality in analysis, verification and transformation. The lecture
part of the course stretches from Hoare logics to program and data
flow analysis, to the theory of abstract interpretation and to
model-checking. Regularly assigned exercises of the tutorial part of
the course give a hands-on experience of applying the various concepts
and principles and approaches based on them to problems and examples
that are mostly taken from the field of optimizing and verifying
compilation.

Part I: Motivation

  • Basics
  • Operational Semantics of WHILE
  • Denotational Semantics of WHILE
  • Axiomatic Semantics of WHILE
  • Worst-Case Execution Time Analysis


Part II: Analysis and Verification

  • Program Analysis
  • Program Verification vs. Program Analysis
  • Reverse Data Flow Analysis
  • Chaotic Fixed Point Iteration
  • Basic Block vs. Single Assignment Graphs


Part III: Transformation and Optimality

  • Elimination of partially dead Assignments
  • Elimination or partially redundant Assignments
  • Combining PRAE and PDCE
  • Constant Folding on the Value Graph


Part IV: Abstract Interpretation and Model-Checking

  • Abstract Interpretation and DFA
  • Modell-Checking and DFA


Part V: Conclusions and Prospectives

  • Summary and Prospectives

Additional information

A joint pre-meeting for all courses offered by the Compilers and
Languages group takes place on Wednesday, 6 March 2013, 1.00pm -
2.00pm p.m., in the lecture room EI4, 2nd floor, Gußhausstr. 25-29.

A specific pre-meeting for the lecture course LVA "Analysis and
Verification" and the first lecture take place on Tuesday, 5 March
2013, at 4.30pm in the " Hörsaal EI3a", 2nd floor, Gußhausstr. 25-29.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue16:30 - 18:0005.03.2013 - 25.06.2013EI 3A Hörsaal KNOOP
Analysis and Verification - Single appointments
DayDateTimeLocationDescription
Tue05.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue12.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue19.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue09.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue16.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue23.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue30.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue07.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue14.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue28.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue04.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue11.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue18.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Tue25.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Course is held blocked

Examination modalities

Grading of assignments and an oral examination. The final grade is
composed of the grades of the regular assignments (50%) and the grade
of the final oral examination (50%).

Course registration

Curricula

Study CodeObligationSemesterPrecon.Info
066 931 Computational Intelligence Mandatory elective
066 937 Software Engineering & Internet Computing Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

Basic knowledge in theoretical computer science and programming are
mandatory. Basic knowledge of compiler construction as e.g. imparted
by the courses 185.A48 VU 4.0h "Compilers" or 185.A04 VU 2.0
"Optimizing Compilers are useful but not strictly obligatory.

The course complements the courses 185.276 "Analysis and Verification"
und 185.A56 "Semantics of Programming Languages." The course is thus
especially recommended for students who want to specialize in the
field of programming languages and compilers and to write e.g. a seminar
or master thesis in these fields.

Preceding courses

Accompanying courses

Continuative courses

Miscellaneous

Language

German