The participants acquire a profound theoretical and practicalunderstanding of fundamental concepts and principles of programanalysis, verification, and transformation which enables them to applytechniques and tools resting on them competently and adequately, andto well-groundedly assess the strengths and limitations of approachesto program analysis, verification, and transformation, in particularof automatic ones.
The course is concerned with concepts and principles of basic andadvanced approaches for the analysis and verification of softwaresystems with a focus on the concepts of soundness, completeness, andoptimality in analysis, verification and transformation. The lecturepart of the course stretches from Hoare logics to program and dataflow analysis, to the theory of abstract interpretation and tomodel-checking. Regularly assigned exercises of the tutorial part ofthe course give a hands-on experience of applying the various conceptsand principles and approaches based on them to problems and examplesthat are mostly taken from the field of optimizing and verifyingcompilation.
Part I: Motivation
Part II: Analysis and Verification
Part III: Transformation and Optimality
Part IV: Abstract Interpretation and Model-Checking
Part V: Conclusions and Prospectives
[ A joint pre-meeting for all courses offered by the Compilers andLanguages group tentatively takes place on Wednesday, 4 March 2015, 1.00pm -2.00pm p.m., in the lecture room EI4, 2nd floor, Gußhausstr. 25-29. (Cancelled for SS 2015) ]A specific pre-meeting for the lecture course LVA "Analysis andVerification" and the first lecture take place on Tuesday, 3 March2015, at 4.30pm in the "Library E185.1, Argentinierstr. 8, 4th floor (centre).
ECTS Break Down:
The course is assigned 3.0 ECTS points. This corresponds to an averageworkload of 75 hours. This average workload is divided among thevarious parts of the course as follows:
Grading of assignments and an oral examination. The final grade iscomposed of the grades of the regular assignments (50%) and the gradeof the final oral examination (50%).
Basic knowledge in theoretical computer science and programming aremandatory. Basic knowledge of compiler construction as e.g. impartedby 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.A04 "Optimizing Compilers"und 185.A56 "Semantics of Programming Languages." The course is thusespecially recommended for students who want to specialize in thefield of programming languages and compilers and to write e.g. a seminar or master thesis in these fields.