Design and Analysis of Programming Languages
ECS 240
ECS 240 Lecture 1
1
Administrivia
Who am I?
Websites:
http:/www.cs.ucdavis.edu/~su/teaching/ecs240-s13
http:/smartsite.ucdavis.edu
Will post t
Proof Techniques for Language Analysis
Lecture 3
ECS 240
ECS 240 Lecture 4
1
Plan
Well study various flavors of induction
mathematical induction
well-founded induction
structural induction
ECS 240
IMP and Operational Semantics
Lecture 2
ECS 240
ECS 240 Lecture 2
1
Plan
Well study a simple imperative language IMP
Abstract syntax
Operational semantics
Denotational semantics
Axiomatic semantics
Data Flow Analysis
Lecture 6
ECS 240
ECS 240 Data Flow Analysis
1
The Plan
Introduce a few example analyses
Generalize to see the underlying theory
Discuss some more advanced issues
ECS 240 Data Fl
Abstract Interpretation
Non-Standard Semantics
Lecture 8-9
ECS 240
ECS 240 Lecture 8-9
1
The Problem
It is useful to predict program behavior statically
(without running the program)
For optimizing
Type Systems
Lecture 14
ECS 240
ECS 240 Lecture 14
1
Review
-calculus is as expressive as a Turing machine
We can encode a multitude of data types in the
untyped -calculus
To simplify programming i
Introduction to Model Checking
Lecture 12
ECS 240
ECS 240 Model Checking
1
Model Checking
Does model M satisfy property ?
What is M?
What is ?
What is satisfy?
ECS 240 Model Checking
2
Temporal Logic
Introduction to Axiomatic Semantics
Lecture 10-11
ECS 240
ECS 240 Lecture 10-11
1
Review
Operational semantics
relatively simple
many flavors
adequate guide for an implementation of the language
not