Publications (21)
Lost in Translation: A Study of Bugs Introduced by Large Language Models while Translating Code
Rangeet Pan, Ali Reza Ibrahimzada, Rahul Krishna +7
Code translation aims to convert source code from one programming language (PL) to another. Given the promising abilities of large language models (LLMs) in code synthesis, researc…
Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical Analysis
Rangeet Pan, Vu Le, Nachiappan Nagappan +3
Forking structure is widespread in the open-source repositories and that causes a significant number of merge conflicts. In this paper, we study the problem of textual merge confli…
Identifying Classes Susceptible to Adversarial Attacks
Rangeet Pan, Md Johirul Islam, Shibbir Ahmed +1
Despite numerous attempts to defend deep learning based image classifiers, they remain susceptible to the adversarial attacks. This paper proposes a technique to identify susceptib…
Decomposing Convolutional Neural Networks into Reusable and Replaceable Modules
Rangeet Pan, Hridesh Rajan
Training from scratch is the most common way to build a Convolutional Neural Network (CNN) based model. What if we can build new CNN models by reusing parts from previously build C…
A Comprehensive Study on Deep Learning Bug Characteristics
Md Johirul Islam, Giang Nguyen, Rangeet Pan +1
Deep learning has gained substantial popularity in recent years. Developers mainly rely on libraries and tools to add deep learning capabilities to their software. What kinds of bu…
TDD-Bench Verified: Can LLMs Generate Tests for Issues Before They Get Resolved?
Toufique Ahmed, Martin Hirzel, Rangeet Pan +2
Test-driven development (TDD) is the practice of writing tests first and coding later, and the proponents of TDD expound its numerous benefits. For instance, given an issue on a so…
Sakura: An Approach for Generating Complex Tests from Natural Language Test Descriptions
Tyler Stennett, Rangeet Pan, Bridget McGinn +2
Research on automating software testing has spanned several decades. Most existing approaches generate unit tests for individual methods, validate isolated API endpoints, or target…
Decomposing a Recurrent Neural Network into Modules for Enabling Reusability and Replacement
Sayem Mohammad Imtiaz, Fraol Batole, Astha Singh +3
Can we take a recurrent neural network (RNN) trained to translate between languages and augment it to support a new natural language without retraining the model from scratch? Can…
AlphaTrans: A Neuro-Symbolic Compositional Approach for Repository-Level Code Translation and Validation
Ali Reza Ibrahimzada, Kaiyao Ke, Mrigank Pawagi +4
Code translation transforms programs from one programming language (PL) to another. Several rule-based transpilers have been designed to automate code translation between different…
Hamster: A Large-Scale Study and Characterization of Developer-Written Tests
Rangeet Pan, Tyler Stennett, Raju Pavuluri +3
Automated test generation (ATG), which aims to reduce the cost of manual test suite development, has been investigated for decades and has produced countless techniques based on a…
Codellm-Devkit: A Framework for Contextualizing Code LLMs with Program Analysis Insights
Rahul Krishna, Rangeet Pan, Raju Pavuluri +3
Large Language Models for Code (or code LLMs) are increasingly gaining popularity and capabilities, offering a wide array of functionalities such as code completion, code generatio…
Usage, Effects and Requirements for AI Coding Assistants in the Enterprise: An Empirical Study
Maja Vukovic, Rangeet Pan, Tin Kam Ho +3
The rise of large language models (LLMs) has accelerated the development of automated techniques and tools for supporting various software engineering tasks, e.g., program understa…
An Empirical Study on the Bugs Found while Reusing Pre-trained Natural Language Processing Models
Rangeet Pan, Sumon Biswas, Mohna Chakraborty +2
In NLP, reusing pre-trained models instead of training from scratch has gained popularity; however, NLP models are mostly black boxes, very large, and often require significant res…
SAINT: Service-level Integration Test Generation with Program Analysis and LLM-based Agents
Rangeet Pan, Raju Pavuluri, Ruikai Huang +4
Enterprise applications are typically tested at multiple levels, with service-level testing playing an important role in validating application functionality. Existing service-leve…
Repairing Deep Neural Networks: Fix Patterns and Challenges
Md Johirul Islam, Rangeet Pan, Giang Nguyen +1
Significant interest in applying Deep Neural Network (DNN) has fueled the need to support engineering of software that uses DNNs. Repairing software that uses DNNs is one such unmi…
Advancing Automated In-Isolation Validation in Repository-Level Code Translation
Kaiyao Ke, Ali Reza Ibrahimzada, Rangeet Pan +2
Repository-level code translation aims to migrate entire repositories across programming languages while preserving functionality automatically. Despite advancements in repository-…
Tangent: An Empirical Study of Testing Practices for LLM-Based Agent Applications
Rangeet Pan, Tyler Stennett, Divya Sankar +5
Agents built on large language models (LLMs) are increasingly used to build applications that perform complex, multi-step tasks involving reasoning, tool use, and interaction with…
Manas: Mining Software Repositories to Assist AutoML
Giang Nguyen, Md Johir Islam, Rangeet Pan +1
Today deep learning is widely used for building software. A software engineering problem with deep learning is that finding an appropriate convolutional neural network (CNN) model…
Otter: Generating Tests from Issues to Validate SWE Patches
Toufique Ahmed, Jatin Ganhotra, Rangeet Pan +3
While there has been plenty of work on generating tests from existing code, there has been limited work on generating tests from issues. A correct test must validate the code patch…
What Do Developers Ask About ML Libraries? A Large-scale Study Using Stack Overflow
Md Johirul Islam, Hoan Anh Nguyen, Rangeet Pan +1
Modern software systems are increasingly including machine learning (ML) as an integral component. However, we do not yet understand the difficulties faced by software developers w…
ASTER: Natural and Multi-language Unit Test Generation with LLMs
Rangeet Pan, Myeongsoo Kim, Rahul Krishna +2
Implementing automated unit tests is an important but time-consuming activity in software development. To assist developers in this task, many techniques for automating unit test g…