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
- Eos:
Unified module system for improved separation of concerns.
[TOSEM '08],
[PLOP '07],
[ICSE '05],
[AOSD '05],
[ICSE'04-DS],
[ESEC/FSE '03]
- Ptolemy:
Quantified, typed events for improved separation of concerns.
[ECOOP '08],
[TOSEM '09],
[IEEE Software '06],
[ESEC/FSE '05]
- Nu:
Intermediate language design for maintaining design modularity in the object code.
[TOSEM '09],
[AOSD '08],
[VMIL '08],
[VMIL '07],
[FSE'06-Poster],
[SPLAT '06]
- Tisa:
A Language Design and Modular Verification Technique for Web Services.
[ESOP '09],
[IEEE SOC '08],
[NWeSP '07],
[IW-SOSWE '07]
- Sapha:
Phase-guided Auto-Tuning.
[IW-MSE '09],
[PLOS '07]
- Slede:
Analysis and verification of sensor network security protocols.
[ESEC/FSE '09],
[WiSec '08],
[ICSE'09-Demo],
[ESEC/FSE '07 - DS],
[FSE'06-Poster]
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
-
Program Committee:
- ICSE 2010:
the 32nd International Conference on Software Engineering
(research demonstrations track)
- GPCE 2010:
the 9th International Conference on Generative Programming and Component
Engineering
- AOSD 2010:
the 9th International Conference on Aspect-Oriented Software Development
- OOPSLA 2009:
the ACM Conference on Object-Oriented Programming Systems, Languages,
and Applications
- AOSD 2009:
the 8th International Conference on Aspect-Oriented Software Development
- ACP4IS
2008,
2009, and
2010:
the Workshop on Aspects, Components, and Patterns for Infrastructure Software
- FOAL 2006 and 2008:
the Foundations of Aspect-Oriented Languages workshop
-
Organizing Committee:
- AOSD 2009 (Student Volunteer Co-chair)
- VMIL (Co-organizer)
the workshop on Virtual Machines and Intermediate Languages (2007 - 2009).
Acting PC chair for 2008 and 2009 and co-chair for 2007.
-
Reviewer:
-
Referee:
Formal Methods 2006,
COMPSAC 2006,
OOPSLA 2006, ESEC/FSE 2007,
OOPSLA 2008.
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
|