Department of Computer Science

Hridesh Rajan

Got a question?

Got a question or comment? Contact me at (515) 294-6168 or hridesh@cs.iastate.edu.

picture

Assistant Professor of Computer Science

Ph.D., University of Virginia, 2005
M.S., University of Virginia, 2004
B.Tech., Institute of Technology, BHU, 2000

Voice: +1-515-294-6168
E-mail: hridesh@cs.iastate.edu
Office: 101 Atanasoff Hall

Research Theme and Goals

Increasing software complexity demands means to cope with it so that we can build intellectually manageable systems. Separation of concerns is one such method. In practice, a good separation of concern is achieved by finding the right decomposition or modularization of a problem. Invention and refinement of new modularization techniques is thus becoming more important with the growing complexity of software systems. I research modularization techniques with the overarching goal of improving the reliability, maintainability, and evolvability of software systems and the efficiency of software development processes. To that end, I have investigated modularity and module systems in the context of Ptolemy, Nu, and Eos projects. In the Ptolemy project, we have investigated the fragility and modular reasoning problems with aspect-oriented programming and show how to fix it. An ECOOP'08 paper describes it in detail. The Ptolemy language combines flexibility and expressiveness desired from AO languages with safety and modular reasoning typically expected from module systems. The goals of the Nu project are to maintain design-level modularity in the intermediate code for improved scalability of development processes.

I am also investigating implications of modularity on verification processes. In the Tisa project, we are developing reasoning techniques for web-services that allow more expressive temporal assertions to be validated without sacrificing modularity (see our ESOP'09 paper about Tisa). In the context of the Slede project, we are exploiting modular reasoning about a homogeneous process in a parameterized system to automate finding cut-off value for this process (see our ESEC/FSE'09 paper).

If you had time to read just one paper, I would recommend reading the ECOOP'08 paper on Ptolemy.

Latest Publications

Yuheng Long, Sean Mooney, and Hridesh Rajan, "Panini: A Language with Asynchronous, Typed Events," Technical Report 09-28, Computer Science, Iowa State University, Oct. 2009. Hot!!

Robert Dyer and Hridesh Rajan, "Supporting Dynamic Aspect-oriented Features," ACM TOSEM (Accepted June 2009).

Youssef Hanna, Samik Basu, and Hridesh Rajan, "Behavioral Automata Composition for Automatic Topology Independent Verification of Parameterized Systems," ESEC/FSE 2009.

Hridesh Rajan, Jia Tao, Steve Shaner, and Gary T. Leavens, "Tisa: A Language Design and Modular Verification Technique for Temporal Policies in Web Services," ESOP 2009.

...other publications.

Research Projects

More information about my research projects and publications is available from the links on the left that point to the web pages of the Laboratory for Software Design.

Recent Professional Services

Current Students

  • Robert Dyer (PhD): Aspect-oriented intermediate languages and virtual machines, incremental compilation of aspect-oriented programs.
  • Youssef Hanna (PhD): Language design for verification model construction and composition.
  • Tyler Sondag (PhD): Phase-guided Auto-Tuning for Improved Utilization of Performance-asymmetric Multicore Processors.
  • Mehdi Bagherzadeh (PhD): Auto-generated greybox specifications for more expressive assertions.
  • Yuheng Long (PhD): Concurrent programming languages.
  • Sean Mooney (PhD): Module systems and modular reasoning.
  • Patrick Carlson (PhD): Evolution of Trust in Social Networking Applications.

Alumni

  • Mahantesh Hosamani (M.S. 2007, now at Ericsson): Security and privacy issues in service-oriented architectues.
  • Rakesh Setty (M.S., Fall 2008, now at Yahoo!): On test-driven development of emerging modularization mechanisms.
  • Youssef Hanna (MS, Fall 2008, now in PhD program): Slede: verification of sensor network security protocols.
  • Robert Dyer (MS, Fall 2008, now in PhD program): Supporting flexible, dynamic deployment of aspect-oriented features.

Funding