I engage in research engagements as well as consultancy engagements with companies and R&D units.

My past research engagements have been generally in the area of developing semi-automated techniques and tools for aiding program understanding, validation, and evolution.

I have expertise for carrying out consultancy engagements in the following areas: Formal-methods based software design techniques, and associated tools such as Alloy (from MIT), and the model-checker Spin. Code review and code validation techniques based on static analysis, and associated tools such as Wala (from IBM), FindBugs, PMD, and CodeSonar. Code verification techniques based on logical methods and theorem proving, and associated tools such as Microsoft VCC. Automated test-input generation techniques -- black box, white box (based on symbolic execution), and grey box (based on lightweight dynamic analysis), and associated tools such as Java Pathfinder, Visual Studio Intellitest, and AFL (American Fuzzy Lop).

My past and ongoing industry engagements are listed below.

1. Consultancy project with Flytxt Mobile Solutions (www.flytxt.com) for its adoption of state-of-the-art software analysis tools and associated processes that enhance manageability and reliability of its software. 2018
2. Sponsored project with Tata Consultancy Services Ltd.
Topic: Mining business rules from legacy applications
2016-
3. Sponsored project with Nucleus Software Exports Ltd.
Topic: Program understanding tools for database-centric applications
2015-
4. Research grant from Microsoft Research India 2009,2013
5. Consultancy project with Tarang Ltd.
2013
6. Sponsored project with ISRO - IISc Space Technology Cell 2012-2013
7. Sponsored project with Infosys Ltd.
Topic: Mining services from legacy applications
2010-2012
8. Faculty Award from IBM Research India 2008
9. Advising part-time PhD students from Infosys Ltd., TCS Ltd., and Indian Space Research Organization (ISRO).