Research Theme and Goals
My research aims to improve software quality and programmer productivity
by development and refinement of modularization techniques.
I have contributed to design, semantics, and implementation of
aspect-oriented language features, where my main goal has been to
improve the regularity, orthogonality, and conceptual integrity of
aspect language features
(see the Eos and
Nu projects for details).
I have also contributed to improving modular reasoning about
aspect-oriented programs
(see the Ptolemy
project for details).
Most of my current efforts are directed towards the design, semantics,
and implementation of
the Panini language.
The main goal of Panini's design is to address problems
with explicit concurrency features such as data races, deadlocks
and non-deterministic semantics.
Key idea is to design programming language features that exploit
common interaction patterns available in good, modular software
design to expose potential concurrency implicitly and safely.
In that sense, Panini's design reconciles modularity and
concurrency goals.
Recent Ideas and Results
- Panini's
language design, which contains asynchronous, typed events.
The idea behind Panini's design is that if programmers structure their
system to improve modularity in its design, they should get concurrency
for free. More details in our
technical report.
- Translucid contracts that allows programmers to write modular specification
of aspect-oriented interfaces and that allows one to modularly reason about
control effects in aspect-oriented programs.
More details in our technical report.
For detailed list of publications see here.
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]
- Frances:
A tool for understanding code generation
[SIG-CSE'10],
[CCSC'10 (Tutorial)]
More information about my research and educational 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:
- AOSD 2011:
the 10th International Conference on Aspect-oriented Software Development
- ICSE 2010:
the 32nd International Conference on Software Engineering
(research demonstrations track)
- Onward! 2010:
the 2010 Onward! Conference on the new ideas, new paradigms track
at OOPSLA 2010
- 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,
2008, and
2010:
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.
Funding
|