Welcome to the Program Analysis group at IIITD. We are located in the IIITD campus in New Delhi.
With the phenomenal growth in software development, it's impossible to ignore the need to develop tools that will enable users to build, verify and validate software systems. Engineering techniques and IDEs are getting more and more sophisticated. So are compilers, testing tools and other utilities. Underlying these systems is the technology that allows us to analyze programs.
Program Analysis is mainly bifurcated into two branches of study, static and dynamic analysis. Static analysis focuses on all techniques and tools that allow us to explore the source code without having to execute it. Dynamic analysis is about the hooks that we may apply to analyze an application's behavior during runtime.
There are plenty of interesting research areas and research problems related to Program Analysis. Our research is primarily focused on developing tools and techniques to help developers build software efficiently and correctly, and to ensure that programs demonstrate intended behavior. More specifically, the former part of our research focuses on assisting programmers with the tools that help programmers understand the existing code and efficiently find code fragments to build complex software systems. On the other hand the latter part focuses on techniques to ensure that software applications fail less frequently and if they do, they do it gracefully by reporting the error and possibly also performing the error diagnosis. The techniques that we develop include static program analysis and runtime monitoring as well as hybrid techniques that combine both. In addition to safety properties, we are interested in analyzing programs for security properties as well as for their performance.
If you find our research interesting and you are around Delhi, please feel free to stop by and talk to us.
Dr. Rahul Purandare
Associate Professor
Indraprastha Institute of Information Technology, Delhi.