Join the Chameleon Team: Fall 2026 REU Openings

Join the Chameleon Team: Fall 2026 REU Openings

We're excited to announce a new opportunity to join the Chameleon team for the fall semester or quarter as a Research Experience for Undergraduates (REU) student. As a Chameleon REU you become part of our team and help us investigate how AI can improve experimental methodology and reproducibility. We usually find that a time commitment of roughly 10 hours a week is consistent with a normal course load while still letting students make real progress on a research project. Both positions can be done remotely, so remote applicants are welcome.

These positions are funded by NSF's Research Experiences for Undergraduates program. Eligibility is limited to U.S. citizens, nationals, and permanent residents enrolled in an undergraduate degree program.

Apply here.

We are recruiting for two positions this fall, described in full below.

Trovi

Contribute to research on scientific artifact discoverability and reproducibility by sourcing, evaluating, and integrating systems research artifacts into Trovi, a high-quality, searchable repository of research and educational artifacts. Trovi aims to make computer systems research not just archived but genuinely reusable, which requires both a well-curated collection and a platform designed around what that collection actually looks like. This position works on both sides of that problem: building out and analyzing the artifact corpus, and improving the search, metadata, and execution mechanisms that determine whether the best artifacts surface and actually run.

Responsibilities may include:

  • Discover, evaluate, and integrate systems research artifacts.
  • Assess scope and reusability; occasionally perform lightweight validation or reproduction checks of the artifacts.
  • Extract and normalize metadata (DOIs, versions, descriptions, licenses, and so on).
  • Write concise summaries and usage notes; apply a consistent taxonomy, categorizing artifacts with appropriate labels and tags.
  • Identify coverage gaps, and engage with authors to clarify missing details.
  • Refine curation criteria, schemas, and tooling (templates, scripts).
  • Investigate and implement discovery mechanisms (search, ranking, filtering, quality signals) that surface high-value artifacts within a large and uneven collection.
  • Extend how artifacts are represented and executed, so that a broader class of artifacts can be launched and reproduced on testbed resources.
  • Analyze coverage, usage, and trends, and report insights that shape the dataset, platform design, and evidence for subsequent analyses and publications.

Useful background: Python, Git, and the command line; some familiarity with Linux, containers, or Jupyter; interest in reproducibility and research infrastructure. Web development or API experience is a plus.

Verification for Reproducibility

Contribute to research on the verifiability and reproducibility of experimental environments by developing automated correctness checks for resources provisioned on research cloud testbeds. Testbeds publish detailed descriptions of the hardware they offer, but nothing today closes the loop between that description and the machine a researcher actually receives. Failed disks, swapped network cards, missing memory, and dead accelerators all drift silently away from the catalog description. This position works on closing that loop: determining which of a testbed's claims about its resources can be checked and how, implementing and testing those checks against real hardware, and reporting results in a form that both a researcher and an automated AI agent can act on.

Responsibilities may include:

  • Investigate what a testbed asserts about its resources and identify which claims are verifiable in practice.
  • Implement checks that compare a provisioned environment against its published description (hardware inventory, network configuration, accelerators, storage, and so on).
  • Test checks against real allocations across heterogeneous hardware; diagnose and characterize the mismatches that turn up.
  • Design failure output that is legible to humans and machine-readable for automated tooling.
  • Distinguish stale or incorrect records from genuinely faulty hardware, and route each appropriately.
  • Extend coverage to current images and platforms; refine the check framework, packaging, and documentation.
  • Analyze results across resources and report trends that inform testbed operations, validation methods, and evidence for subsequent analyses and publications.

Open questions include how far a check can trust the resource it is running on, how much of a claim can be verified from inside the environment versus outside it, and how these checks should compose into a larger system that plans, provisions, and validates environments on a researcher's behalf.

Useful background: Python, Git, and the Linux command line (SSH, package management, reading logs, inspecting system state); coursework in operating systems, computer architecture, networking, or distributed systems. Familiarity with bare-metal provisioning or cloud APIs is a plus.

How to Apply

Fill out the application form and tell us which position interests you. If you have questions about either project, reach out through the Chameleon forums or the Help Desk.

We're looking forward to working with you!

Related Posts

Create a new thread to discuss this post on the Chameleon forum