Rahul Pandita

dblp:05/9103 · DBLP profile ↗
← Back
27ranked-venue papers
7as first author
10since 2021 · last 2026
0000-0002-7466-2985ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 22 · 5 first-author · 9 since 2021Human-computer interaction and ubiquitous computing · 3 · 1 first-author · 1 since 2021Security and privacy · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Investigating Autonomous Agent Contributions in the Wild: Activity Patterns and Code Change over Time
abstract
The rise of large language models for code has reshaped software development. Autonomous coding agents, able to create branches, open pull requests, and perform code reviews, now actively contribute to real-world projects. Their growing role offers a unique and timely opportunity to investigate AI-driven contributions and their effects on code quality, team dynamics, and software maintainability. In this work, we construct a novel dataset of approximately 110,000 open-source pull requests, including associated commits, comments, reviews, issues, and file changes, collectively representing millions of lines of source code. We compare five popular coding agents, including OpenAI Codex, Claude Code, GitHub Copilot, Google Jules, and Devin, examining how their usage differs in various development aspects such as merge frequency, edited file types, and developer interaction signals, including comments and reviews. Furthermore, we emphasize that code authoring and review are only a small part of the larger software engineering process, as the resulting code must also be maintained and updated over time. Hence, we offer several longitudinal estimates of survival and churn rates for agent-generated versus human-authored code. Ultimately, our findings indicate an increasing agent activity in open-source projects, although their contributions are associated with more churn over time compared to human-authored code.
Razvan Mihai Popescu, David Gros 0001, Andrei Botocan, Rahul Pandita, Premkumar T. Devanbu, Maliheh Izadi
MSR4
2025 What Guides Our Choices? Modeling Developers' Trust and Behavioral Intentions Towards Genai
abstract
Generative AI (genAI) tools, such as ChatGPT or Copilot, are advertised to improve developer productivity and are being integrated into software development. However, misaligned trust, skepticism, and usability concerns can impede the adoption of such tools. Research also indicates that AI can be exclusionary, failing to support diverse users adequately. One such aspect of diversity is cognitive diversity-variations in users' cognitive styles-that leads to divergence in perspectives and interaction styles. When an individual's cognitive style is unsupported, it creates barriers to technology adoption. Therefore, to understand how to effectively integrate genAI tools into software development, it is first important to model what factors affect developers' trust and intentions to adopt genAI tools in practice? We developed a theoretically grounded statistical model to (1) identify factors that influence developers' trust in genAI tools and (2) examine the relationship between developers' trust, cognitive styles, and their intentions to use these tools in their work. We surveyed software developers ($\mathrm{N}=238$) at two major global tech organizations: GitHub Inc. and Microsoft; and employed Partial Least Squares-Structural Equation Modeling (PLS-SEM) to evaluate our model. Our findings reveal that genAI's system/output quality, functional value, and goal maintenance significantly influence developers' trust in these tools. Furthermore, developers' trust and cognitive styles influence their intentions to use these tools in their work. We offer practical suggestions for designing genAI tools for effective use and inclusive user experience.
Rudrajit Choudhuri, Bianca Trinkenreich, Rahul Pandita, Eirini Kalliamvakou, Igor Steinmacher, Marco Aurélio Gerosa, Christopher Sanchez, Anita Sarma
ICSE3
2025 Building Your Own Product Copilot: Challenges, Opportunities, and Needs
abstract
A race is underway to embed advanced AI capabil-ities into products. These product “copilots” enable users to ask questions in natural language and receive relevant responses that are specific to the user's context. In fact, virtually every large technology company is looking to add these capabilities to their software products. However, for most software engineers, this is often their first encounter with integrating AI-powered technol-ogy. Furthermore, software engineering processes and tools have not caught up with the challenges and scale involved with building AI-powered applications. In this work, we present the findings of an interview study with 26 professional software engineers responsible for building product copilots at various companies. From our interviews, we found pain points at every step of the engineering process and the challenges that strained existing development practices. We then conducted group brainstorming sessions to collaborative on opportunities and tool designs for the broader software engineering community.
Chris Parnin, Gustavo Soares, Rahul Pandita, Sumit Gulwani, Jessica Rich, Austin Z. Henley
SANER3
2024 An empirical study of task infections in Ansible scripts
Akond Ashfaque Ur Rahman, Dibyendu Brinto Bose, Yue Zhang 0051, Rahul Pandita
Empir. Softw. Eng.4
2024 Follow-Up Attention: An Empirical Study of Developer and Neural Model Code Exploration
abstract
Recent neural models of code, such as OpenAI Codex and AlphaCode, have demonstrated remarkable proficiency at code generation due to the underlying attention mechanism. However, it often remains unclear how the models actually process code, and to what extent their reasoning and the way their attention mechanism scans the code matches the patterns of developers. A poor understanding of the model reasoning process limits the way in which current neural models are leveraged today, so far mostly for their raw prediction. To fill this gap, this work studies how the processed attention signal of three open large language models - CodeGen, InCoder and GPT-J - agrees with how developers look at and explore code when each answers the same sensemaking questions about code. Furthermore, we contribute an open-source eye-tracking dataset comprising 92 manually-labeled sessions from 25 developers engaged in sensemaking tasks. We empirically evaluate five heuristics that do not use the attention and ten attention-based post-processing approaches of the attention signal of CodeGen against our ground truth of developers exploring code, including the novel concept offollow-up attentionwhich exhibits the highest agreement between model and human attention. Our follow-up attention method can predict the next line a developer will look at with 47% accuracy. This outperforms the baseline prediction accuracy of 42.3%, which uses the session history of other developers to recommend the next line. These results demonstrate the potential of leveraging the attention signal of pre-trained models for effective code exploration.
Matteo Paltenghi, Rahul Pandita, Austin Z. Henley, Albert Ziegler 0001
IEEE Trans. Software Eng.2
2023 Predicting API Expertise: A Cross-Community Replication Using Zipf's Law
abstract
Experience and knowledge are essential and adequate conditions to assess developer expertise. In practice, while various mechanisms are used for assessing developer expertise, research has shown that existing mechanisms may not support the holistic evaluation of developer expertise or contain the complexity behind the development of that expertise (e.g., experience with individual APIs and programming concepts). Prior research has shown that developer contributions on platforms like GitHub and StackOverflow can provide personal insights into broader developer expertise. This paper explores the potential for providing more granular assessments of developer expertise based on their interactions in these online programming communities by empirically analyzing developer contributions on StackOverflow and GitHub related to Python APIs. We found that techniques from prior work scale to support the automated ranking of developers based on their experience with a given Python API. Our findings suggest that we can use syntax patterns in written language and code to detect and rank developers' low-level technical expertise accurately.
Mohammadreza Noei, Rahul Pandita, Brittany Johnson
VL/HCC2
2023 Come for syntax, stay for speed, understand defects: an empirical study of defects in Julia programs
Akond Ashfaque Ur Rahman, Dibyendu Brinto Bose, Raunak Shakya, Rahul Pandita
Empir. Softw. Eng.4
2023 Security Misconfigurations in Open Source Kubernetes Manifests: An Empirical Study
abstract
Context: Kubernetes has emerged as the de-facto tool for automated container orchestration. Business and government organizations are increasingly adopting Kubernetes for automated software deployments. Kubernetes is being used to provision applications in a wide range of domains, such as time series forecasting, edge computing, and high-performance computing. Due to such a pervasive presence, Kubernetes-related security misconfigurations can cause large-scale security breaches. Thus, a systematic analysis of security misconfigurations in Kubernetes manifests, i.e., configuration files used for Kubernetes, can help practitioners secure their Kubernetes clusters. Objective: The goal of this paper is to help practitioners secure their Kubernetes clusters by identifying security misconfigurations that occur in Kubernetes manifests . Methodology: We conduct an empirical study with 2,039 Kubernetes manifests mined from 92 open-source software repositories to systematically characterize security misconfigurations in Kubernetes manifests. We also construct a static analysis tool called Security Linter for Kubernetes Manifests ( SLI-KUBE ) to quantify the frequency of the identified security misconfigurations. Results: In all, we identify 11 categories of security misconfigurations, such as absent resource limit, absent securityContext , and activation of hostIPC . Specifically, we identify 1,051 security misconfigurations in 2,039 manifests. We also observe the identified security misconfigurations affect entities that perform mesh-related load balancing, as well as provision pods and stateful applications. Furthermore, practitioners agreed to fix 60% of 10 misconfigurations reported by us. Conclusion: Our empirical study shows Kubernetes manifests to include security misconfigurations, which necessitates security-focused code reviews and application of static analysis when Kubernetes manifests are developed.
Akond Ashfaque Ur Rahman, Md. Shazibul Islam Shamim, Dibyendu Brinto Bose, Rahul Pandita
ACM Trans. Softw. Eng. Methodol.4
2022 OpenCBS: An Open-Source COBOL Defects Benchmark Suite
abstract
As the current COBOL workforce retires, entry-level developers are left to keep complex legacy systems maintained and operational. This creates a massive gap in knowledge and ability as companies are having their veteran developers replaced with a new, inexperienced workforce. Additionally, the lack of COBOL and mainframe technology in the current academic curriculum further increases the learning curve for this new generation of developers. These issues are becoming even more pressing due to the business-critical nature of these systems, which makes migrating or replacing the mainframe and COBOL unlikely anytime soon. As a result, there is now a huge need for tools and resources to increase new developers’ code comprehension and ability to perform routine tasks such as debugging and defect location. Extensive work has been done in the software engineering field on the creation of such resources. However, the proprietary nature of COBOL and mainframe systems has restricted the amount of work and the number of open-source tools available for this domain. To address this issue, our work leverages the publicly available technical forum data to build an open-source collection of COBOL programs embodying issues/defects faced by COBOL developers. These programs were reconstructed and organized in a benchmark suite to facilitate the testing of developer tools. Our goal is to provide an open-source COBOL benchmark and testing suite that encourage community contribution and serve as a resource for researchers and tool-smiths in this domain.
Dylan Lee, Austin Z. Henley, Bill Hinshaw, Rahul Pandita
ICSME4
2021 Contemporary COBOL: Developers' Perspectives on Defects and Defect Location
abstract
Mainframe systems are facing a critical shortage of developer workforce as the current generation of COBOL developers retires. Furthermore, due to the limited availability of public COBOL resources, entry-level developers, who assume the mantle of legacy COBOL systems maintainers, face significant difficulties during routine maintenance tasks, such as code comprehension and defect location. While we made substantial advances in the field of software maintenance for modern programming languages yearly, mainframe maintenance has received limited attention. With this study, we aim to direct the attention of researchers and practitioners towards investigating and addressing challenges associated with mainframe development. Specifically, we explore the scope of defects affecting COBOL systems and defect location strategies commonly followed by COBOL developers and compare them with the modern programming language counterparts. To this end, we surveyed 30 COBOL and 74 modern Programming Language (PL) developers to understand the differences in defects and defect location strategies employed by the two groups. Our preliminary results show that: (1) major defect categories affecting the COBOL ecosystem are different than defects encountered in modern PL software projects; (2) the most challenging defect types in COBOL are also the ones that occur most frequently; and (3) COBOL and modern PL developers follow similar strategies to locate defective code.
Agnieszka Ciborowska, Aleksandar Chakarov, Rahul Pandita
ICSME3
2020 A tale from the trenches: cognitive biases and software development
abstract
Cognitive biases are hard-wired behaviors that influence developer actions and can set them on an incorrect course of action, necessitating backtracking. While researchers have found that cognitive biases occur in development tasks in controlled lab studies, we still don't know how these biases affect developers' everyday behavior. Without such an understanding, development tools and practices remain inadequate. To close this gap, we conducted a 2-part field study to examine the extent to which cognitive biases occur, the consequences of these biases on developer behavior, and the practices and tools that developers use to deal with these biases. About 70% of observed actions that were reversed were associated with at least one cognitive bias. Further, even though developers recognized that biases frequently occur, they routinely are forced to deal with such issues with ad hoc processes and sub-optimal tool support. As one participant (IP12) lamented: There is no salvation!
Souti Chattopadhyay, Nicholas Nelson 0002, Audrey Au, Natalia Morales, Christopher A. Sanchez, Rahul Pandita, Anita Sarma
ICSE6
2019 Latent patterns in activities: a field study of how developers manage context
abstract
In order to build efficient tools that support complex programming tasks, it is imperative that we understand how developers program. We know that developers create a context around their programming task by gathering relevant information. We also know that developers decompose their tasks recursively into smaller units. However, important gaps exist in our knowledge about: (1) the role that context plays in supporting smaller units of tasks, (2) the relationship that exists among these smaller units, and (3) how context flows across them. The goal of this research is to gain a better understanding of how developers structure their tasks and manage context through a field study of ten professional developers in an industrial setting. Our analysis reveals that developers decompose their tasks into smaller units with distinct goals, that specific patterns exist in how they sequence these smaller units, and that developers may maintain context between those smaller units with related goals.
Souti Chattopadhyay, Nicholas Nelson 0002, Yenifer Ramirez Gonzalez, Annel Amelia Leon, Rahul Pandita, Anita Sarma
ICSE5
2018 Are vulnerabilities discovered and resolved like other defects?
abstract
Context: Software defect data has long been used to drive software development process improvement. If security defects (i.e.,vulnerabilities) are discovered and resolved by different software development practices than non-security defects, the knowledge of that distinction could be applied to drive process improvement.
Patrick Morrison, Rahul Pandita, Xusheng Xiao, Ram Chillarege, Laurie A. Williams
ICSE2
2018 No half-measures: A study of manual and tool-assisted end-user programming tasks in Excel
abstract
The popularity of end-user programming has lead to diverse end-user development environments. Despite accurate and efficient tools available in such environments, end-user programmers often manually complete tasks. What are the consequences of rejecting these tools? In this paper, we answer this question by studying end-user programmers completing four tasks with and without tools. In analyzing 111 solutions to each of these tasks, we observe that neither tool use nor tool rejection was consistently more accurate or efficient. In some cases, tool users took nearly twice as long to solve problems and over-relied on tools, causing errors in 95% of solutions. Compared to manual task completion, the primary benefit of tool use was narrowing the kinds of errors that users made. We also observed that partial tool use can be worse than no tool use at all.
Rahul Pandita, Chris Parnin, Felienne Hermans, Emerson R. Murphy-Hill
VL/HCC1
2018 Are vulnerabilities discovered and resolved like other defects?
Patrick Morrison, Rahul Pandita, Xusheng Xiao, Ram Chillarege, Laurie A. Williams
Empir. Softw. Eng.2
2018 Mapping the field of software life cycle security metrics
Patrick Morrison, David Moye, Rahul Pandita, Laurie A. Williams
Inf. Softw. Technol.3
2018 Preface
Tao Xie 0001, He Jiang 0001, Ge Li 0001, Tianyu Wo, Rahul Pandita, Chang Xu 0001, Lihua Xu
J. Comput. Sci. Technol.5
2017 TMAP: Discovering relevant API methods through text mining of API documentation
abstract
Abstract Developers often migrate their applications to support various platform/programming‐language application programming interfaces (APIs) to retain existing users and to attract new users. To migrate an application written using 1 API (source) to another API (target), a developer must know how the methods in the source API map to the methods in the target API. Given that a typical platform or language exposes a large number of API methods, manually discovering API mappings is prohibitively resource‐intensive and may be error prone. The goal of this research is to support software developers in migrating an application from a source API to a target API by automatically discovering relevant method mappings across APIs using text mining on the natural language API method descriptions. This paper proposes text mining based approach (TMAP) to discover relevant API mappings. To evaluate our approach, we used TMAP to discover API mappings for 15 classes across (1)JavaandC#API; and (2)Java MEandAndroidAPI. We compared the discovered mappings with state‐of‐the‐art source code analysis‐based approaches: Rosetta and StaMiner. Our results indicate that TMAP on average found relevant mappings for 56% and 57% more methods compared to the Rosetta and the StaMiner approaches, respectively.
Rahul Pandita, Raoul Praful Jetley, Sithu D. Sudarsan, Tim Menzies, Laurie A. Williams
J. Softw. Evol. Process.1
2016 ICON: Inferring Temporal Constraints from Natural Language API Descriptions
abstract
Temporal constraints of an Application Programming Interface (API) are the allowed sequences of method invocations in the API governing the secure and robust operation of client software using the API. These constraints are typically described informally in natural language API documents, and therefore are not amenable to existing constraint-checking tools. Manually identifying and writing formal temporal constraints from API documents can be prohibitively time-consuming and error-prone. To address this issue, we propose ICON: an approach based on Machine Learning (ML) and Natural Language Processing (NLP) for identifying and inferring formal temporal constraints. To evaluate our approach, we use ICON to infer and formalize temporal constraints from the Amazon S3 REST API, the PayPal Payment REST API, and the java.io package in the JDK API. Our results indicate that ICON can effectively identify temporal constraint sentences (from over 4000 human annotated API sentences) with the average 79.0% precision and 60.0% recall. Furthermore, our evaluation demonstrates that ICON achieves an accuracy of 70% in inferring 77 formal temporal constraints from these APIs.
Rahul Pandita, Kunal Taneja, Laurie A. Williams, Teresa Tung
ICSME1
2016 Designing for dystopia: software engineering research for the post-apocalypse
abstract
Software engineering researchers have a tendency to be optimistic about the future. Though useful, optimism bias bolsters unrealistic expectations towards desirable outcomes. We argue that explicitly framing software engineering research through pessimistic futures, or dystopias, will mitigate optimism bias and engender more diverse and thought-provoking research directions. We demonstrate through three pop culture dystopias, Battlestar Galactica, Fallout 3, and Children of Men, how reflecting on dystopian scenarios provides research opportunities as well as implications, such as making research accessible to non-experts, that are relevant to our present.
Titus Barik, Rahul Pandita, Justin Middleton, Emerson R. Murphy-Hill
SIGSOFT FSE2
2016 A cross-tool communication study on program analysis tool notifications
abstract
Program analysis tools use notifications to communicate with developers, but previous research suggests that developers encounter challenges that impede this communication. This paper describes a qualitative study that identifies 10 kinds of challenges that cause notifications to miscommunicate with developers. Our resulting notification communication theory reveals that many challenges span multiple tools and multiple levels of developer experience. Our results suggest that, for example, future tools that model developer experience could improve communication and help developers build more accurate mental models.
Brittany Johnson, Rahul Pandita, Justin Smith 0001, Denae Ford, Sarah Elder, Emerson R. Murphy-Hill, Sarah Smith Heckman, Caitlin Sadowski
SIGSOFT FSE2
2016 Veteran developers' contributions and motivations: An open source perspective
abstract
Decades of psychology and sociology research demonstrate that humans change cognitively and socially as they age, so it stands to reason that software developers likewise undergo changes that may affect their work. In this paper, we investigate age-related differences in software developers through the lens of open source software, which is built in communities that tend not to include older software developers. We report on the results of a qualitative panel discussion, then quantitatively analyze such veteran developers' activities on StackOverflow, to understand why few veteran software developers' participate in open source, and how their contributions to software development differ from their younger peers. Our results suggest that veterans' are less motivated by social interactions than their younger peers. Our results also suggest that veterans could contribute a broader knowledge of software development than their younger peers, as well as knowledge of old technologies that can be applied to newer technologies.
Patrick Morrison, Rahul Pandita, Emerson R. Murphy-Hill, Anne Collins McLaughlin
VL/HCC2
2015 Discovering likely mappings between APIs using text mining
abstract
Developers often release different versions of their applications to support various platform/programming-language application programming interfaces (APIs). To migrate an application written using one API (source) to another API (target), a developer must know how the methods in the source API map to the methods in the target API. Given a typical platform or language exposes a large number of API methods, manually writing API mappings is prohibitively resource-intensive and may be error prone. Recently, researchers proposed to automate the mapping process by mining API mappings from existing code-bases. However, these approaches require as input a manually ported (or at least functionally similar) code across source and target APIs. To address the shortcoming, this paper proposes TMAP: Text Mining based approach to discover likely API mappings using the similarity in the textual description of the source and target API documents. To evaluate our approach, we used TMAP to discover API mappings for 15 classes across: 1) Java and C# API, and 2) Java ME and Android API. We compared the discovered mappings with state-of-the-art source code analysis based approaches: Rosetta and StaMiner. Our results indicate that TMAP on average found relevant mappings for 57% more methods compared to previous approaches. Furthermore, our results also indicate that TMAP on average found exact mappings for 6.5 more methods per class with a maximum of 21 additional exact mappings for a single class as compared to previous approaches.
Rahul Pandita, Raoul Praful Jetley, Sithu D. Sudarsan, Laurie A. Williams
SCAM1
2015 Bespoke tools: adapted to the concepts developers know
abstract
Even though different developers have varying levels of expertise, the tools in one developer's integrated development environment (IDE) behave the same as the tools in every other developers' IDE. In this paper, we propose the idea of automatically customizing development tools by modeling what a developer knows about software concepts. We then sketch three such ``bespoke'' tools and describe how development data can be used to infer what a developer knows about relevant concepts. Finally, we describe our ongoing efforts to make bespoke program analysis tools that customize their notifications to the developer using them.
Brittany Johnson, Rahul Pandita, Emerson R. Murphy-Hill, Sarah Smith Heckman
ESEC/SIGSOFT FSE2
2013 WHYPER: Towards Automating Risk Assessment of Mobile Applications
Rahul Pandita, Xusheng Xiao, Wei Yang 0013, William Enck, Tao Xie 0001
USENIX Security Symposium1
2012 Inferring method specifications from natural language API descriptions
abstract
Application Programming Interface (API) documents are a typical way of describing legal usage of reusable software libraries, thus facilitating software reuse. However, even with such documents, developers often overlook some documents and build software systems that are inconsistent with the legal usage of those libraries. Existing software verification tools require formal specifications (such as code contracts), and therefore cannot directly verify the legal usage described in natural language text in API documents against code using that library. However, in practice, most libraries do not come with formal specifications, thus hindering tool-based verification. To address this issue, we propose a novel approach to infer formal specifications from natural language text of API documents. Our evaluation results show that our approach achieves an average of 92% precision and 93% recall in identifying sentences that describe code contracts from more than 2500 sentences of API documents. Furthermore, our results show that our approach has an average 83% accuracy in inferring specifications from over 1600 sentences describing code contracts.
Rahul Pandita, Xusheng Xiao, Hao Zhong 0001, Tao Xie 0001, Steve Oney, Amit M. Paradkar
ICSE1
2010 Guided test generation for coverage criteria
abstract
Test coverage criteria including boundary-value and logical coverage such as Modified Condition/Decision Coverage (MC/DC) have been increasingly used in safety-critical or mission-critical domains, complementing those more popularly used structural coverage criteria such as block or branch coverage. However, existing automated test-generation approaches often target at block or branch coverage for test generation and selection, and therefore do not support testing against boundary-value coverage or logical coverage. To address this issue, we propose a general approach that uses instrumentation to guide existing test-generation approaches to generate test inputs that achieve boundary-value and logical coverage for the program under test. Our preliminary evaluation shows that our approach effectively helps an approach based on Dynamic Symbolic Execution (DSE) to improve boundary-value and logical coverage of generated test inputs. The evaluation results show 30.5% maximum (23% average) increase in boundary-value coverage and 26% maximum (21.5% average) increase in logical coverage of the subject programs under test using our approach over without using our approach. In addition, our approach improves the fault-detection capability of generated test inputs by 12.5% maximum (11% average) compared to the test inputs generated without using our approach.
Rahul Pandita, Tao Xie 0001, Nikolai Tillmann, Jonathan de Halleux
ICSM1