Dr. Rahul Purandare

Dr. Rahul Purandare

Dr. Rahul Purandare

Associate Professor

362 Avery Hall
1144 T Street
Lincoln, NE, 65888-0115 

Phone: (402)-472-5005 

E-mail: rahul at unl dot edu

About

Education

Ph.D.                   University of Nebraska­­­–Lincoln

Academic Positions

Associate Professor         University of Nebraska­­­–Lincoln (2022 - Now)

Associate Professor         IIIT-Delhi (2019 – 2022)

Assistant Professor         IIIT-Delhi (2013 – 2019)

Curriculum Vitae (CV)

CV

Areas of Research and Professional Interests

Static and Dynamic Program Analysis, Program Verification, AI for Software Engineering, Software Testing, Program Comprehension, and Program Optimization. 

My research is focused on developing tools and techniques to help developers build robust, maintainable, and secure software. To develop these tools, I use program analysis, sometimes in combination with deep learning.

I am always looking for highly motivated students to join my lab. Therefore, please apply with your CV if you are interested in doing Ph.D. in any of the research areas mentioned above.

In the News

Purandare named IEEE TSE Associate Editor

Mentoring

Current Ph.D. Students at UNL:

  • Negar Fathi (Joined Fall 2023)
  • Mohammad Jalili Torkamani (Joined Spring 2024)

Graduated Ph.D. Students: 

  • Nikita Mehrotra (June 2024) - Graduated from IIIT-Delhi
  • Devika Sondhi (August 2021) – Graduated from IIIT-Delhi
  • Venkatesh Vinayakarao (August 2018) – Graduated from IIIT-Delhi
Courses
  • SOFT260: Software Engineering III (Fall 2022)
  • CSCE322: Programming Language Concepts (Spring 2023, Spring 2024)
  • CSCE428/828: Automata, Computation, and Formal Languages (Fall 2023)
Select Publications

Journals: 

Nikita Mehrotra, Akash Sharma, Anmol Jindal, and Rahul Purandare. Improving Cross-Language Code Clone Detection via Code Representation Learning and Graph Neural Networks. In: IEEE Transactions on Software Engineering (TSE). Accepted for publication as a Journal First paper. 

Ridhi Jain, Rahul Purandare, and Subodh Sharma. BiRD: Race Detection in Sotware Binaries under Relaxed Memory Models. In: ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 31, Issue 4, October 2022, Article No.: 58, pages 1–29, Accepted for presentation as a Journal First paper at ESEC/FSE’22. 

Nikita Mehrotra, Navdha Agarwal, Piyush Gupta, Saket Anand, David Lo, and Rahul Purandare. Modeling Functional Similarity in Source Code with Graph-based Siamese Networks. In: IEEE Transactions on Software Engineering (TSE), Volume: 48, Issue: 10, 01 October 2022, pages 3771 – 3789, Presented as a Journal First paper at ICSE’22. 

Gede Artha Azriadi Prana, Denae Ford, Ayushi Rastogi, David Lo, Rahul Purandare, and Nachiappan Nagappan. Including Everyone, Everywhere: Understanding Opportunities and Challenges of Geographic Gender-inclusion in OSS. In: IEEE Transactions on Software Engineering (TSE), Volume: 48, Issue: 9, 01 September 2022, pages 3394 – 3409, Presented as a Journal First paper at ICSE’22. 

Devika Sondhi, Mayank Jobanputra, Divya Rani, Salil Purandare, Sakshi Sharma, and Rahul Purandare. Mining Similar Methods for Test Adaptation. In: IEEE Transactions on Software Engineering (TSE), Volume: 48, Issue: 7, 01 July 2022, pages 2262 – 2276. 

Conference Proceedings: 

Khushboo Chitre, Piyus Kedia, and Rahul Purandare. Rapid: Region-based Pointer Disambiguation. In: Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’23), October 2023, Accepted for publication. 

Piyus Kedia, Rahul Purandare, Udit Agarwal, and Rishabh. CGuard: Scalable and Precise Object Bounds Protection for C. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), July 2023, pages 1307–1318. 

Khushboo Chitre, Piyus Kedia and Rahul Purandare. The Road Not Taken: Exploring Alias Analysis Based Optimizations Missed by the Compiler. In: Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’22), December 2022, pages 786–810. 

Devika Sondhi, Avyakt Gupta, Salil Purandare, Ankit Rana, Deepanshu Kaushal, and Rahul Purandare. On Indirectly Dependent Documentation in the Context of Code Evolution: A Study. In: Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering (ICSE’21), May 2021, pages 1498–1509. 

Devika Sondhi and Rahul Purandare. SEGATE: Unveiling Semantic Inconsistencies between Code and Specification of String Inputs. In: Proceedings of the 34th ACM/IEEE International Conference on Automated Software Engineering (ASE’19), November 2019, pages 200–212. 

Venkatesh Vinayakarao, Anita Sarma, Rahul Purandare, Shuktika Jain, and Soumya Jain. ANNE: Improving Source Code Search using Entity Retrieval Approach. In: Proceedings of the Tenth ACM International Conference on Web Search and Data Mining (WSDM), February 2017, pages 211–220. 

Sukrit Kalra, Ayush Goel, Dhriti Khanna, Mohan Dhawan, Subodh Sharma, and Rahul Purandare. POLLUX: Safely Upgrading Dependent Application Libraries. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), November 2016, pages 290–300. 

Aritra Dhar, Rahul Purandare, Mohan Dhawan, and Suresh Rangaswami. Clotho:Saving Programs from Malformed Strings and Incorrect String-Handling. In: Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, (ESEC/FSE), September 2015, pages 555–566. 

Rahul Purandare, Matthew B. Dwyer, and Sebastian Elbaum. Optimizing Monitoring
of Finite State Properties through Monitor Compaction. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), July 2013, pages 280–290. (Received ACM Distinguished Paper Award). 

Rahul Purandare, Javier Darsie, Sebastian Elbaum, and Matthew B. Dwyer. Conditional Component Dependence Analysis for Distributed Robotics Software. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), October 2012, pages 1533–1540. 

Rahul Purandare, Matthew B. Dwyer, and Sebastian Elbaum. Monitoring Finite State Properties: Approaches and their Relative Strengths. In: Proceedings of the 2nd International Conference on Runtime Verification (RV), September 2011, pages 381– 395. 

Rahul Purandare, Matthew B. Dwyer, and Sebastian Elbaum. Monitor Optimization via Stutter-Equivalent Loop Transformation. In: Proceedings of the 25th International Conference on Systems, Programming, Languages and Applications: Software for Humanity (OOPSLA), October 2010, pages 270–285. 

Matthew B. Dwyer and Rahul Purandare. Residual Dynamic Typestate Analysis : Exploiting Static Analysis Results to Reformulate and Reduce the Cost of Dynamic Analysis. In: Proceedings of the 22nd International Conference on Automated Software Engineering (ASE), November 2007, pages 124–133. 

Matthew B. Dwyer, Sebastian Elbaum, Suzette Person, and Rahul Purandare. Parallel Randomized State-space Search. In: Proceedings of the 28th International Conference on Software Engineering (ICSE), May 2007, pages 3–12.