


Mehrans. Fallah


Courses

(Special Topics (Program Analysis(SPRING_2018)
Aims:
This graduate course acquaints the students of software engineering with the techniques and skills of program analysis that are widely used in compilers and software development tools to improve productivity, reliability, and security. The students will learn how mathematical abstractions such as graphs, fixed points computations, and binary decision diagrams can be applied to the verification of programs.
Syllabus:
 An Introduction to Program Analysis: Data Flow Analysis, ConstraintBased Analysis
 An Introduction to Program Analysis: Abstract Interpretation, Type and Effect Systems
 Data Flow Analysis: Interprocedural Analysis, Theoretical Properties
 Data Flow Analysis: Monotone Frameworks, Equation Solving
 ConstraintBased Analysis: Abstract Control Flow Analysis without Context Information
 ConstraintBased Analysis: Syntaxdirected Control Flow Analysis
 Constraintbased Control Flow Analysis, Adding Context Information
 Abstract Interpretation: Representation Functions, Approximation of Fixed Points
 Abstract Interpretation: Galois Connections
 Type and Effect Systems: Types and Effects, Type Inference
 Type and Effect Systems: Side Effect Analysis, Exception Analysis
 Decision Procedures: Boolean Satisfiability, Boolean Decision Diagrams
 Decision Procedures: SAT and SMT, Theory Solvers in SMT
 Decision Procedures: Separation Logic, Symbolic Execution, Concolic Testing
 Model Checking: Model Checking and Temporal Logic
 Model Checking: Symbolic Model Checking with Boolean Decision Diagrams
Text Book:
 Flemming Nielson, Hanne Nielson, and Chris Hankin, Principles of Program Analysis, 2005, Springer
 Glynn Winskel, The Formal Semantics of Programming Languages, 2001, MIT Press
 Christel Baier and JoostPieter Katoen, Principles of Model Checking, 2008, MIT Press
 Benjamin Pierce, Types and Programming Languages, 2002, MIT Press.
 Aaron R. Bradley and Zohar Manna, The Calculus of Computation, 2007, Springer
 Daniel Kroening and Ofer Strichman, Decision Procedures, 2008, Springer

Discrete Mathematics(SPRING_2018)
Aims:
To acquaint students with mathematical structures and their application in computer engineering and science
Syllabus:
 Counting Principles: Principles of sum a and product, arrangement, permutation, combination, combination with repetition, the reflection principle
 Inclusion and Exclusion: Theorem of the principle of inclusion and exclusion, applications in counting, generalization of the principle
 Generating Functions: The generating function of a given sequence, the application of generating functions in counting problems, the convolution of sequences
 Logic: Introduction, propositional logic, semantics and model theory, proof theory
 FirstOrder Logic: Open statements, quantifiers, model theory, proof theory, soundness, completeness
 Properties of Integers: The axiomatic system of integers, mathematical induction, generalizations, inductive definitions, applications
 Elementary Number Theory: Divisibility, greatest common divisor, division algorithm, the fundamental theorem of arithmetics
 Residues: The complete system of residues, the residues system of residues, Eulers phi function, Lagranges theorem, EulerFermats theorem, Chinese residues
 Relations and Functions: Onetoone functions, images, onto functions, restriction
 Partially Ordered Sets: Reflexive, symmetric, antisymmetric, and transitive relations, equivalence relations, commutative and associative relations, minimal and maximal, lower and upper bounds, supremums, infimums, lattice
 Recurrences: Recursive equations, solving linear homogeneous recursive equations
 Nonhomogeneous Recursive Equations: Solution, using generating functions, system of equations
 Graph Theory: Undirected and directed graphs, walks, paths, circuits, cycles, Eulerian graphs
 Hamiltonian and Planar Graphs: Definitions, Theorems
 Graph coloring: Chromatic polynomials, chromatic numbers, decomposition theorem
Text Book:
 Ralph P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied Introduction, Fifth Edition, Addison Wesley

Discrete Mathematics(SPRING_2018)
Aims:
To acquaint students with mathematical structures and their application in computer engineering and science
Syllabus:
 Counting Principles: Principles of sum a and product, arrangement, permutation, combination, combination with repetition, the reflection principle
 Inclusion and Exclusion: Theorem of the principle of inclusion and exclusion, applications in counting, generalization of the principle
 Generating Functions: The generating function of a given sequence, the application of generating functions in counting problems, the convolution of sequences
 Logic: Introduction, propositional logic, semantics and model theory, proof theory
 FirstOrder Logic: Open statements, quantifiers, model theory, proof theory, soundness, completeness
 Properties of Integers: The axiomatic system of integers, mathematical induction, generalizations, inductive definitions, applications
 Elementary Number Theory: Divisibility, greatest common divisor, division algorithm, the fundamental theorem of arithmetics
 Residues: The complete system of residues, the residues system of residues, Eulers phi function, Lagranges theorem, EulerFermats theorem, Chinese residues
 Relations and Functions: Onetoone functions, images, onto functions, restriction
 Partially Ordered Sets: Reflexive, symmetric, antisymmetric, and transitive relations, equivalence relations, commutative and associative relations, minimal and maximal, lower and upper bounds, supremums, infimums, lattice
 Recurrences: Recursive equations, solving linear homogeneous recursive equations
 Nonhomogeneous Recursive Equations: Solution, using generating functions, system of equations
 Graph Theory: Undirected and directed graphs, walks, paths, circuits, cycles, Eulerian graphs
 Hamiltonian and Planar Graphs: Definitions, Theorems
 Graph coloring: Chromatic polynomials, chromatic numbers, decomposition theorem
Text Book:
 Ralph P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied Introduction, Fifth Edition, Addison Wesley

Formal Models & Information Security(SPRING_2018)
Aims:
A formal approach to information security systems
Syllabus:
 Introduction: Formal methods and their application in analyzing systems, advantages and shortcomings
 Discretionary access control models and the safety problem, the HRU model
 Mandatory access control models: advantages and shotcomings, the problem of covert channels, the need for informationflow models
 Noninterference in deterministic and nondeterministic systems
 Applied flow model and probabilistic noninterference
 Quantified information flow
 Approximate noninterference, refining noninterference, downgrading
 Languagebased implementation of noninterference
 Categorizing security properties and policies: a topological approach
 Categorizing security properties and policies: a process algebraic approach
 Analysis and verification of security protocols: a classification of existing approaches
 Example vulnerable protocols, the DolevYao model
 Analyzing authentication protocols using modal logics
 The agreement problem in authentication protocols
 Model checking and the analysis of security protocols
Text Book:

Advanced Programming Languages(FALL_2017)
Aims:
To acquaint students with formal foundations of programming languages and languagebased enforcement of functional and nonfunctional requirements
Syllabus:
 Formalizing the Components of Programming Languages, Inductive Definitions, Structural Induction
 Categorical and Hypothetical Judgments, Rule Induction
 Static Semantics
 Operational Semantics and Type Safety
 Denotational Semantics
 Axiomatic Semantics
 Functions, System T, PCF
 Simple Extensions to Typed Lambda Calculus
 References and Exceptions
 Subtyping and Imperative Objects
 Case Study: Featherweight Java
 Recursive Types
 Polymorphism: Type Reconstruction
 Polymorphism: Universal Types
 HigherOrder Systems, Kinding
 Dependent Types
Text Book:
 John C. Mitchell, Foundations for Programming Languages, 1996, MIT Press
 Glynn Winskel, The Formal Semantics of Programming Languages, 2001, MIT Press
 Robert Harper, Practical Foundations for Programming Languages, 2012, Cambridge University Press
 Benjamin Pierce, Types and Programming Languages, 2002, MIT Press

Design of Programming Language(FALL_2017)
Aims:
Syllabus:
Text Book:

Discrete Mathematics(SPRING_2017)
Aims:
To acquaint students with mathematical structures and their application in computer engineering and science
Syllabus:
 Counting Principles: Principles of sum a and product, arrangement, permutation, combination, combination with repetition, the reflection principle
 Inclusion and Exclusion: Theorem of the principle of inclusion and exclusion, applications in counting, generalization of the principle
 Generating Functions: The generating function of a given sequence, the application of generating functions in counting problems, the convolution of sequences
 Logic: Introduction, propositional logic, semantics and model theory, proof theory
 FirstOrder Logic: Open statements, quantifiers, model theory, proof theory, soundness, completeness
 Properties of Integers: The axiomatic system of integers, mathematical induction, generalizations, inductive definitions, applications
 Elementary Number Theory: Divisibility, greatest common divisor, division algorithm, the fundamental theorem of arithmetics
 Residues: The complete system of residues, the residues system of residues, Eulers phi function, Lagranges theorem, EulerFermats theorem, Chinese residues
 Relations and Functions: Onetoone functions, images, onto functions, restriction
 Partially Ordered Sets: Reflexive, symmetric, antisymmetric, and transitive relations, equivalence relations, commutative and associative relations, minimal and maximal, lower and upper bounds, supremums, infimums, lattice
 Recurrences: Recursive equations, solving linear homogeneous recursive equations
 Nonhomogeneous Recursive Equations: Solution, using generating functions, system of equations
 Graph Theory: Undirected and directed graphs, walks, paths, circuits, cycles, Eulerian graphs
 Hamiltonian and Planar Graphs: Definitions, Theorems
 Graph coloring: Chromatic polynomials, chromatic numbers, decomposition theorem
Text Book:
 Ralph P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied Introduction, Fifth Edition, Addison Wesley

Discrete Mathematics(SPRING_2017)
Aims:
To acquaint students with mathematical structures and their application in computer engineering and science
Syllabus:
 Counting Principles: Principles of sum a and product, arrangement, permutation, combination, combination with repetition, the reflection principle
 Inclusion and Exclusion: Theorem of the principle of inclusion and exclusion, applications in counting, generalization of the principle
 Generating Functions: The generating function of a given sequence, the application of generating functions in counting problems, the convolution of sequences
 Logic: Introduction, propositional logic, semantics and model theory, proof theory
 FirstOrder Logic: Open statements, quantifiers, model theory, proof theory, soundness, completeness
 Properties of Integers: The axiomatic system of integers, mathematical induction, generalizations, inductive definitions, applications
 Elementary Number Theory: Divisibility, greatest common divisor, division algorithm, the fundamental theorem of arithmetics
 Residues: The complete system of residues, the residues system of residues, Eulers phi function, Lagranges theorem, EulerFermats theorem, Chinese residues
 Relations and Functions: Onetoone functions, images, onto functions, restriction
 Partially Ordered Sets: Reflexive, symmetric, antisymmetric, and transitive relations, equivalence relations, commutative and associative relations, minimal and maximal, lower and upper bounds, supremums, infimums, lattice
 Recurrences: Recursive equations, solving linear homogeneous recursive equations
 Nonhomogeneous Recursive Equations: Solution, using generating functions, system of equations
 Graph Theory: Undirected and directed graphs, walks, paths, circuits, cycles, Eulerian graphs
 Hamiltonian and Planar Graphs: Definitions, Theorems
 Graph coloring: Chromatic polynomials, chromatic numbers, decomposition theorem
Text Book:
 Ralph P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied Introduction, Fifth Edition, Addison Wesley

Formal Models & Information Security(SPRING_2017)
Aims:
A formal approach to information security systems
Syllabus:
 Introduction: Formal methods and their application in analyzing systems, advantages and shortcomings
 Discretionary access control models and the safety problem, the HRU model
 Mandatory access control models: advantages and shotcomings, the problem of covert channels, the need for informationflow models
 Noninterference in deterministic and nondeterministic systems
 Applied flow model and probabilistic noninterference
 Quantified information flow
 Approximate noninterference, refining noninterference, downgrading
 Languagebased implementation of noninterference
 Categorizing security properties and policies: a topological approach
 Categorizing security properties and policies: a process algebraic approach
 Analysis and verification of security protocols: a classification of existing approaches
 Example vulnerable protocols, the DolevYao model
 Analyzing authentication protocols using modal logics
 The agreement problem in authentication protocols
 Model checking and the analysis of security protocols
Text Book:

Design of Programming Language(FALL_2016)
Aims:
Syllabus:
Text Book:

Information Security S. C.(FALL_2016)
Aims:
Syllabus:
Text Book:

Software Systems Security(FALL_2016)
Aims:
The course acquaint the students with major challenges in designing and implementing secure software systems and application programs, programs that are not vulnerable to malicious attacks. The student will learn why security is important, what kinds of vulnerabilities may exist in software, how one may exploit the vulnerabilities, and how attacks can be defeated systematically through building security in the software development lifecycle.
Syllabus:
 Software Security
 Security Vulnerabilities
 Secured and Safe Programming
 Security Requirements Analysis
 Threat Modeling and Risk Analysis
 Security Review and Auditing 1
 Security Review and Auditing 2
 Review and Auditing Tools
 Security Test Plans
 Security Test Cases
 Fuzz Testing
 Fault Injection
 Languagebased Security
 Security in Mobile Applications
 Security in WebFacing Applications
Text Book:
 Mark Dowd, John McDonald, and Justin Schuh, The Art of Software Security Assessment: Identifying and Prevention of Software Vulnerabilities, AddisonWesley, 2006
 Asoke K. Talukder and Manish Chaitanya, Architecting Secure Software Systems, CRC Press, 2009
 Gary McGraw, Software Security: Building Security In, AddisonWesley, 2006.












© AUT All rights reserved.
AUT is not responsible for the content of external sites. 


424 Hafez Ave, Tehran, Iran, 158754413. +98 (21) 64540






