Understanding software evolution. Building the future of dependable software.
EVOL Lab advances empirical software engineering and AI-assisted software engineering at the University of Nevada, Las Vegas. We study how software systems evolve, develop intelligent methods for adapting reusable changes across long-lived software ecosystems, and build open tools, datasets, and benchmarks that enable reproducible research.
Fig. 1 — Effect size by research question across our last five studies (illustrative). Highlighted bars mark statistically significant, practically meaningful findings.
Research Vision
EVOL Lab advances dependable software evolution through empirical software engineering and AI-assisted software engineering. We investigate how software systems evolve, why reusable changes become difficult to transfer across independently evolving software variants, and how intelligent, evidence-driven methods can discover, adapt, verify, and integrate those changes safely at scale.
Understanding Software Evolution
We study software repositories at scale to understand how systems, variants, and developer communities change, diverge, collaborate, and accumulate maintenance challenges over time.
Autonomous Reusable Change Adaptation
We develop methods to discover, adapt, verify, and integrate reusable fixes, enhancements, and capabilities across independently evolving software variants.
AI-Assisted Software Engineering
We combine empirical evidence and large language models to build trustworthy developer tools that improve software quality while preserving human oversight.
Recent news
Browse the complete list of lab updates.
View all newsWho's in the lab
Current team
Alumni
Marcus Tran
PhD '25 → Postdoc, ETH Zürich
Now working on program repair.
Lena Hoffmann
MS '24 → Software Engineer, Google
Thesis on ecosystem-scale fork analysis.
Omar Al-Sayed
MS '23 → PhD student, UC Irvine
Continuing work on code review dynamics.
Selected papers
PatchTrack: A Comprehensive Analysis of ChatGPT's Influence on Pull Request Outcomes
AgenticFlict: A Large-Scale Dataset of Merge Conflicts in AI Coding Agent Pull Requests on GitHub
Structural and Connectivity Patterns in the Maven Central Software Dependency Network
Refactoring-Aware Patch Integration Across Structurally Divergent Java Forks
See the full archive for the remaining publications.
View all publicationsSelected projects
PaReco
A clone-detection tool for mining missed opportunity patches and duplicated maintenance effort across variant forks, with a curated dataset spanning 364 source-to-target pairs.
Variant Forks: Motivations and Impediments
An exploratory study of why open-source teams launch and maintain variant forks, grounded in survey data from 105 maintainers of active GitHub projects.
Reuse & Maintenance Practices among Divergent Forks
An ecosystem-scale study of software families across Android, .NET, and JavaScript, examining how divergent forks propagate code and maintain shared ancestry over time.
PatchTrack
A replication package and analysis tool for studying how ChatGPT-generated patches are adopted, refined, or discarded inside real pull request workflows.
See all active and past EVOL Lab projects, outputs in one place.
Browse all projects