My research interest spans the following areas.
- Modularity, modular reasoning
- Programming languages, Software Engineering, and Compilers
- Data science, especially Software Engineering of Data Science software.
- Concurrency, especially modular reasoning about concurrency correctness and performance. Scalable support for modular verification of concurrency properties in compilers.
- Advanced separation of concerns mechanisms such as events, reactive signals, and aspects and modular reasoning about such mechanisms.
I have spent the majority of my career thinking about modularity and modular reasoning issues and inventing programming abstractions that allow reasoning mechanisms to scale to larger programs, to tackle new class of modularization mechanisms, and to tackle new class of properties.
Our work on the Ptolemy project has created more modular mechanisms for reasoning about crosscutting concerns.
Our work on the Boa programming language and its infrastructure has created linguistic abstractions for data-driven science that scale because the language design ensures more modular reasoning about runtime tasks. A deployed setup of Boa (http://boa.cs.iastate.edu) is used by hundreds of scientists around the world to study open source projects for a variety of purposes and over three dozen external research papers have appeared so far that have used Boa as a research instrument.
Our work on the Panini project has created abstractions for improving modular reasoning about concurrent programs.
I direct the Laboratory for Software Design in the Department of Computer Science. In 2016 and 2017 we have also organized the Midwest Big Data Summer School, a one-week, intensive curriculum aimed at early career researchers to get them started in data-driven research.
You can contact me using either of the e-mail addresses below. When writing, please substitute firstname with hridesh.