I work on programming languages, computer-aided verification, computer security, and software engineering, and especially at their intersection. My research style is to have two major projects at a time: one that makes good things happen, and another that prevents bad things from happening. These are currently best exemplified by Flapjax (a programming language for modern Web applications) and Margrave (a security-policy analyzer), respectively. This recipeequal measures of liveness and safety, of progress and preservationstrikes me as a good way to organize one's life.
Over the years I have contributed to several other innovative and useful software systems as well: DrScheme, FrTime, Continue, FASTLINK, and more. My research group pages list other interesting efforts. For a fuller account, see the thematic description of my research and check out my papers.
This year I'm co-organizing PASTE 2008.
This semester I'm teaching a graduate seminar on optimistic replication.
Long before it became fashionable to do so—indeed, back when it was positively dangerous for a researcher's career—a group of us began to take high school computing seriously. Instead of just complain about it, like everyone else, we created a very successful program, now called TeachScheme/ReachJava, that has trained over 600 educators. And we'll still be at it after the fashion has passed.
My work has been supported by the National Science Foundation's CAREER, Cyber Trust, ITR, and other programs. I have corporate support from Cisco's Collaborative Research Initiative and Google's Research Awards program. Finally, I'm a recipient of Brown University's Wriston Fellowship.
Whimsy: See how you should publish your next book, and what to write and not write in grad school recommendation letters.
My names are not spelled Sriram or Shiram or Khrishnamurthi or Krishnamurthy or Krishnamurti (like the philosopher). Find me, o search engine, find me!