440 Huntington Avenue
302 West Village H
Boston, MA 02115
ATTN: Ashish Mishra, 202 WVH
360 Huntington Avenue
Boston, MA 02115-5000
- PhD, Indian Institute of Science, Bangalore
- Hometown: Allahabad, India
What are the specifics of your graduate education (thus far)?
As part of my PhD, I proposed program languages based tools and techniques for behavioural property analysis of programs. These proposals were along two directions, namely, the “complexity of programs” being analyzed and “complexity of the property” being analyzed. To tame the former, I proposed a static typestate analysis for Android applications which correctly models the asynchronous control flow semantics of these applications. In order to address the latter, I proposed a generalized extension of classical typestates called as p-typestates and provided a language and a static type system which allows programmers to develop correct programs against rich behavioural properties.
What are your research interests in a bit more detail? Is your current academic/research path what you always had in mind for yourself, or has it evolved somewhat? If so, how/why?
My research interest lies at the boundaries of Programming Languages, Program Analysis and verification tools and theories to reason about the correctness of software. My PhD thesis had a sweet mix of programming languages theory and practice, following the same path I am currently working on using theories from program analysis and programming languages to develop tools to reason about the correctness and other properties of programs. Further, such reasoning tools will also make program comprehension and debugging easier for programmers and lead to more reliable softwares.
What’s one problem you’d like to solve with your research/work?
One of the major challenges in the programming languages research community is the gap between the rich programming languages theories developed by the academic theorists and the limited application and understanding of these theories in popular languages and amongst developers. A good example for this is the theory of dependent types, which is still not used and understood by most software developers. I wish to bring these rich theories to the common programmer by developing newer language features in popular languages and providing formal semantics and tools for comprehension of these theories in newer languages.
What aspect of what you do is most interesting/fascinating to you? What aspects of your research (findings, angles, problems you’re solving) might surprise others?
I work on defining formal semantics of various new programming languages features and use these semantics to develop practical analysis and tools which helps programmers to develop reliable software. Novel developments in the theories of programming languages can hugely aid in program comprehension and debugging and help build reliable real-world software.
What are your research/career goals, going forward?
My long-term research goal is to work and contribute to the boundaries of Programming Languages, Program Analysis and Verification Tools and theory. In order to achieve this goal, post my Postdoc, I am seeking a full-time academic position in a University and a group working in Applicative Programming Languages.
Where did you grow up/spend the most defining years of your childhood/young adulthood?
I grew up in the academically vigorous atmosphere of the city of Allahabad in the Northern part of India. The city has been a vital centre of learning since the colonial times in India and even before that and has a rich literary history. This shaped my childhood to a great degree. I spent most of my adulthood in the Southern Indian city of Bangalore. I witnessed the great cultural gradient of India, this I believe has made me a more assimilating personality.