aut aut      aut aut
   
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, Constraint-Based 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
  • Constraint-Based Analysis: Abstract Control Flow Analysis without Context Information
  • Constraint-Based Analysis: Syntax-directed Control Flow Analysis
  • Constraint-based 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 Joost-Pieter 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
  • First-Order 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, Euler-Fermats theorem, Chinese residues
  • Relations and Functions: One-to-one functions, images, onto functions, restriction
  • Partially Ordered Sets: Reflexive, symmetric, anti-symmetric, 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
  • First-Order 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, Euler-Fermats theorem, Chinese residues
  • Relations and Functions: One-to-one functions, images, onto functions, restriction
  • Partially Ordered Sets: Reflexive, symmetric, anti-symmetric, 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 information-flow models
  • Noninterference in deterministic and nondeterministic systems
  • Applied flow model and probabilistic noninterference
  • Quantified information flow
  • Approximate noninterference, refining noninterference, downgrading
  • Language-based 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 Dolev-Yao 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 language-based 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
  • Higher-Order 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
    • First-Order 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, Euler-Fermats theorem, Chinese residues
    • Relations and Functions: One-to-one functions, images, onto functions, restriction
    • Partially Ordered Sets: Reflexive, symmetric, anti-symmetric, 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
    • First-Order 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, Euler-Fermats theorem, Chinese residues
    • Relations and Functions: One-to-one functions, images, onto functions, restriction
    • Partially Ordered Sets: Reflexive, symmetric, anti-symmetric, 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 information-flow models
    • Noninterference in deterministic and nondeterministic systems
    • Applied flow model and probabilistic noninterference
    • Quantified information flow
    • Approximate noninterference, refining noninterference, downgrading
    • Language-based 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 Dolev-Yao 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
        • Language-based Security
        • Security in Mobile Applications
        • Security in Web-Facing Applications

        Text Book:

        • Mark Dowd, John McDonald, and Justin Schuh, The Art of Software Security Assessment: Identifying and Prevention of Software Vulnerabilities, Addison-Wesley, 2006
        • Asoke K. Talukder and Manish Chaitanya, Architecting Secure Software Systems, CRC Press, 2009
        • Gary McGraw, Software Security: Building Security In, Addison-Wesley, 2006.


         
         
        © AUT All rights reserved.
        AUT is not responsible for the content of external sites.
         
        424 Hafez Ave, Tehran, Iran, 15875-4413. +98 (21) 64540