EVOL Lab logo EVOL Lab
Software Evolution (EVOL) Lab· Dept. of Computer Science, UNLV

Helping developers understand, adapt, and evaluate software change.

EVOL Lab develops evidence-driven methods and open source tools for dependable software evolution. We investigate how valuable improvements can move across related software systems and how developers can work more reliably with large language models and coding agents. Across both directions, our goal is to preserve developer intent, account for the surrounding software context, and provide evidence that supports decisions about whether a change should be integrated.

Two paths to dependable software

Evidence. Automation. Human oversight.

Software changes do not succeed merely because code was copied, generated, or applied without producing an error. A dependable change must express the right intent, fit the structure and behavior of its destination, and be supported by evidence that developers can examine. We study this challenge in two closely connected settings.

Research Direction 1

Dependable Reuse Across Related Systems

Organizations often create software by copying and customizing an existing system. As the related systems evolve independently, an important fix, security update, or functional improvement made in one may never reach the others. Finding a potentially useful change is only the beginning: developers must determine where it belongs, adapt it to a different structure and context, and evaluate whether it still accomplishes its intended purpose.

We develop methods that help developers discover, prioritize, align, adapt, and verify reusable changes. This research builds on PaReco, GACPD, MOVis, RePatch, and our emerging semantic-alignment and reusable-change-adaptation infrastructure. It is supported in part by NSF CAREER Award #2542438.

Research Direction 2

Dependable Developer–LLM Collaboration

Developers increasingly use large language models and coding agents to generate and modify code. Yet a prompt may omit relevant files, constraints, expected behavior, or other information needed to understand the task. A response can therefore look convincing while misunderstanding the developer's intent or failing to fit the repository in which it will be used.

We study how prompt context, specificity, and verification information influence real pull-request outcomes. Building on this empirical foundation, we are investigating tools that recover missing intent from surrounding software artifacts, provide coding agents with repository-grounded context, and use PatchGate to help developers evaluate generated changes before they enter a repository.

Two independent EVOL Lab research pathways. Reusable change integration progresses through discover, align, adapt, and verify. Developer–LLM collaboration progresses through interpret, recover intent, generate, and gate. Each pathway provides evidence that supports a developer's decision to integrate, revise, or reject a software change.
Both research directions combine automation with evidence and human oversight. The tools support the developer's decision; they do not replace it.

Recent news

2026-07 NSF Award #2542438: CAREER: Advancing Dependable Reusable Change Integration Across Software Variants. Details: NSF Award.
2026-05 Our paper, PatchTrack: A Comprehensive Analysis of ChatGPT's Influence on Pull Request Outcomes, has been published in Empirical Software Engineering.
2026-04 Our paper, How AI Coding Agents Modify Code: A Large-Scale Study of GitHub Pull Requests, has been published in the MSR 2026 Mining Challenge track.
2026-01 Our paper, Design and Evaluation of a Scalable Data Pipeline for AI-Driven Air Quality Monitoring in Low-Resource Settings, has been published in SEDE 2026.
2026-01 Our paper, Structural and Connectivity Patterns in the Maven Central Software Dependency Network, has been published in SEDE 2026.
2025-09 Our paper, Refactoring-Aware Patch Integration Across Structurally Divergent Java Forks, has been published at SCAM 2025.

Browse the complete list of lab updates.

View all news

Who's in the lab

Current team

Dr. John Businge

Dr. John Businge

Professor

Profile
Daniel Ogenrwot

Daniel Ogenrwot

PhD Candidate

Profile
Jorge Gonzalo Delgado Cervantes

Jorge Gonzalo Delgado Cervantes

PhD Student

Profile
Richard Sserunjogi

Richard Sserunjogi

PhD Student

Profile
Adam Hamou

Adam Hamou

MS Student

Profile
Parham Pahlavan

Parham Pahlavan

MS Student

Profile

Selected papers

PatchTrack: A Comprehensive Analysis of ChatGPT's Influence on Pull Request Outcomes

Daniel Ogenrwot, John Businge

EMSE 2026 paper dataset & code
2026

AgenticFlict: A Large-Scale Dataset of Merge Conflicts in AI Coding Agent Pull Requests on GitHub

Daniel Ogenrwot, John Businge

AIware 2026 paper dataset & code
2026
2026

Structural and Connectivity Patterns in the Maven Central Software Dependency Network

Daniel Ogenrwot, John Businge, Shaikh Arifuzzaman

SEDE 2026 paper
2026

Refactoring-Aware Patch Integration Across Structurally Divergent Java Forks

Daniel Ogenrwot, John Businge

SCAM 2025 paper code
2025

See the full archive for the remaining publications.

View all publications