Mechanized reasoning about programs: Abstract interpretation, deductive methods, type systems, and software model checking. In particular:

  • Reasoning about uncertain and unreliable computation.
  • Exploiting procedural modularity in program specification and verification.

Parallel programming: Languages, foundational abstractions, and systems for parallel programming.

Theoretical computer science: Logic and automata theory. Algorithmic foundations of program analysis.


bio | cv| publications

|  PC member:     TACAS 2009, LCTES 2009
|  Publicity chair:      POPL 2010, POPL 2011, POPL 2012
|  Co-organizer:      EC2 2010

group

|  PhD students:    Roberto Lublinerman, Sara Navidpour, Nirupama Talele

343 E IST Building
University Park, PA 16802

Email: swarat at cse psu edu
Voice: +1-814-865-0883
Fax: +1-814-865-3176

(Fall 2009, Fall 2008) CMPSC 461: Programming language concepts

(Spring 2009) CSE 598-A: Program analysis

(Spring 2008) CSE 598-A: Computer-aided verification