- Ph.D., Computer Science, The University of North Carolina, Chapel Hill, 1991
- M.S., Computer Science, The University of North Carolina, Chapel Hill, 1987
- B.Tech., Computer Science, Indian Institute of Technology, Kanpur, India, 1985
- Programming Languages: Implementation, Semantics, Applications, Constraint and Logic Programming, Static Analysis.
- Software Engineering: Software Verification, Real-time Systems, Domain Specific Languages, Interoperability.
- Parallel and Distributed Processing: High Performance AI and Constraint Logic Programming Systems, Automatic Parallelization, Parallel Architectures, Applications.
- Artificial Intelligence: Logic based Intelligent systems, constraint satisfaction, constraint programming, implementation
- Human Computer Interaction: Tools for Visually Impaired; Intelligent Interfaces.