Research Interests

  • Software analysis and verification
  • Model checking: algorithms and tools
  • Security
  • Logic and automata theory
  • Current Research

  • Software Analysis:
  • Analysis of heaps in programs using automata
  • Compositional verification using algorithmic learning
  • Synthesizing formal interfaces for software modules using games and learning (JIST)
  • Concurrency:
  • Notions of atomicity for concurrent programs
  • Analyzing concurrent recursive models
  • Security:
  • Preventing script-injection attacks in web applications
  • Automata and logics:
  • Visibly pushdown automata / Automata on nested words
  • Expressive logics and algorithms for models of programs with recursion: Caret, visibly pushdown mu-calculus
  • Model-checking infinite graphs
  • Automata models for XML

  • Courses:

  • Spring '08: CS477: Formal Software Development Methods
  • Fall '07: CS273: Introduction to the Theory of Computation
  • Summer '07 Course in Salerno on Logic, Automata and Algorithms for Graphs
  • Spring '07: Not teaching
  • Fall '06: CS273: Introduction to the Theory of Computation
  • Spring '06: CS498mp: Software Model-Checking
  • Fall '05: CS598mp: Automata and Logic in Verification
  • Spring '05: CS598mp: Algorithmic Software Verification

  • Students:

    I am looking for bright motivated students to work on (a) atomicity and other ways to verify concurrent software, (b) verification of heap-intensive programs, (c) theoretical verification including automata theory, and (d) security for web applications. Contact me by email or drop by my office if you are interested!
  • Azadeh Farzan (co-advised)
  • Gennaro Parlato (visiting)
  • Tutorials

  • Learning Algorithms and Formal Verification
    VMCAI (Verification, Model Checking and Abstract Interpretation) Nice, France.
    (Slides in PDF).
  • Conferences

  • Program Committee: CONCUR 2008 (Int'l Conf on Concurrency Theory), Toronto, Canada.
  • Chairing INFINITY 2007, workshop on infinite state systems, with CONCUR, Lisboa, Portugal.
  • Invited Tutorial: Learning Algorithms and Formal Verification
    VMCAI (Verification, Model Checking and Abstract Interpretation) Nice, France.
  • Invited Talk: Visibly pushdown automata for XML
    EROW (Emerging Research Opportunities in Web Data Management) 2007,
    An ICDT workshop, Barcelona, Spain.
  • Program Committee:
    ICALP 2007 (Int'l Coll. on Automata, Languages, and Programming), Wroclaw, Poland.
  • Earlier:
  • Workshop on Games in Design and Verification; colocated with FLoC (Federated Logic Conference) (which includes CAV, LICS, etc.), Seattle, USA. (Organizer).
  • Invited talk: GALOP'06: Games for Logic and Programming Languages, part of FLoC, Seattle, USA.
  • Workshop on Software Verification; part of FSTTCS 2005, Hyderabad, India (Organizer).
  • PC: ACM 2006 Symposium on Applied Computing: Technical track on software verification, Dijon, France.
  • PC: FSTTCS 2005: Foundations of Software Tech. and Theoretical Comp. Sc., Hyderabad, India.
  • Invited talk: LCC'05: Logic and Computational Complexity, workshop with LICS'05, Chicago.
  • Invited talk: FIT'05: Foundations of Interface Technologies, workshop with CONCUR'05, San Fransisco.
  • PC: CAV 2005: Computer Aided Verification, Edinburgh, UK.
  • PC: GDV 2005: Games in Design and Verification, workshop with CAV 2005, Edinburgh, UK.
  • PC: FORMATS and FTRTFT, 2004
    Joint Conference on Formal Modelling and Analysis of Timed Systems (FORMATS) and Formal Techniques in Real-Time and Fault Tolerant System (FTRTFT).