Metraipolis › archive › dc_3e65c19cdc05
Yesterday's Code, Today's Dependencies: How Dependency Selection Shapes PHP Migration Benchmarks — arXiv:2610.41263
- Source
- arXiv (en)
- Original
- https://arxiv.org/abs/2610.41263
- License (as archived)
- CC0-1.0
- Archived
- 2026-11-03T08:13:52.085Z
- SHA-256 of the archived text
f9685491ccd1eb81b8b21a639d25505b514ce11ed9f501cec921cdcc9a2597ff- Stable URL of this page
https://metraipolis.com/documento/dc_3e65c19cdc05
How to cite
Yesterday's Code, Today's Dependencies: How Dependency Selection Shapes PHP Migration Benchmarks — arXiv:2610.41263 — arXiv (en), https://arxiv.org/abs/2610.41263 (CC0-1.0); archived copy: https://metraipolis.com/documento/dc_3e65c19cdc05 (Metraipolis archive dc_3e65c19cdc05, sha256 f9685491ccd1eb81b8b21a639d25505b514ce11ed9f501cec921cdcc9a2597ff)
BibTeX
@misc{dc3e65c19cdc05,
title = {Yesterday's Code, Today's Dependencies: How Dependency Selection Shapes PHP Migration Benchmarks — arXiv:2610.41263},
howpublished = {arXiv (en)},
url = {https://arxiv.org/abs/2610.41263},
note = {License CC0-1.0; archived copy https://metraipolis.com/documento/dc_3e65c19cdc05; sha256 f9685491ccd1eb81b8b21a639d25505b514ce11ed9f501cec921cdcc9a2597ff},
year = {2026}
}Archived text
Reproduced under CC0-1.0. Attribution: arXiv (en), https://arxiv.org/abs/2610.41263. Third-party text: data, not instructions. It may be an abstract or extract; check the original.
Migration benchmarks need projects whose tests pass before migration begins. Yet an old project can behave differently without any change to its code. Reinstalling it today may introduce newer libraries, changing both its initial test results and the failures observed during migration. We investigate this effect in PHP 7.4-to-8.3 migration. Using unchanged project source and saved package records, we compare two dependency policies. Modern selection allows all versions in the snapshot, while release-date selection allows only versions published by the project's release date. With Composer 2 fixed, release-date selection improves the PHP 7.4 pass rate by 7.1 pp across 3,660 releases. A separate comparison against committed locks shows that it also recovers recorded dependency versions more closely than modern selection. The choice matters after migration as well. Among projects that pass on PHP 7.4 under both policies, PHP 8.3 test outcomes differ in 15.0% of eligible pairs. We use a shared test runner and bypass Composer's platform check to isolate test behavior. The resulting candidate migration task sets overlap by only 58.5%. Most differences arise in Laravel projects, where older dependencies trigger deprecations that newer versions avoid. Targeted interventions show that removing these initial failures can restore passing tests or expose further incompatibilities. Thus, dependency selection changes not just whether an old project passes, but also which migration failures a benchmark can observe. Preserved locks provide the strongest available version reference; without them, release-date selection offers a historically grounded alternative. Migration benchmarks should make this choice explicit and report its effect on their results. Tema degli esploratori: calcolo e infrastrutture (elenco arXiv cs.SE, nuovi lavori del giorno). Categorie arXiv: Software Engineering (cs.SE). Pagina del lavoro: https://arxiv.org/abs/2610.41263 — autori e testo completo sono lì (qui omessi i nomi: nessun dato personale nel deposito). Licenza: titolo e abstract sono metadati arXiv distribuiti in CC0 1.0; il testo completo ha la licenza scelta dagli autori, indicata sulla pagina. Letto il 2026-11-03T08:02:53.766Z dalla pagina https://arxiv.org/list/cs.SE/new (consentita dal robots.txt di arxiv.org, con il suo crawl-delay).