Uppsats
Automatically Analyzing Reproducibility Issues in Java Maven
Master-uppsats
KTH/Skolan för elektroteknik och datavetenskap (EECS)
Publicerad: 2025
Språk: Engelska
Sammanfattning
Reproducible builds are essential for verifying that an open-source artifact matches its published source. While ecosystems like Debian have made progress, Java projects remain largely nonreproducible, undermining verifiability and trust. This thesis studies reproducibility in the Java/Maven ecosystem using a dataset of 12,283 Diffoscope comparisons and evaluates the effect of canonicalization via the CHAINS-Rebuild tool, a fork of OSS-Rebuild. We introduce Diffonomy, an automated analyzer that classifies Diffoscope differences into a taxonomy of causes, and use it to quantify the most frequent issues and assess the impact of canonicalization. Date and timestamp differences emerged as the most frequent cause of non-reproducibility after canonicalization. Metadata files such as Software Bill of Materials (SBOMs), Java manifests, Maven Project Object Models (POMs), and reordering in generated files were also common sources of reproducibility issues. Canonicalization with CHAINS-Rebuild substantially reduced manifest and packaging metadata differences (−57% for manifests; −49% overall for packaging metadata) and dramatically reduced file-permission differences (−83%), while SBOMs, dependency metadata, and hash differences were unaffected. Approximately 3,036 artifacts (≈25%) became bit-for-bit identical after canonicalization. These findings can guide efforts within the Java ecosystem to improve reproducibility and extend tools such as OSS-Rebuild to address a broader range of reproducibility issues.
Information
- Författare
- Stjernberg, Christian
- Lärosäte / institution
- KTH/Skolan för elektroteknik och datavetenskap (EECS)
- Publiceringsdatum
- 2025
- Uppsatstyp
- Master-uppsats
- Språk
- Engelska
Utforska vidare
Liknande uppsatser
Uppsatser med liknande ämnen och nyckelord.
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Sävås, Jonas
Publicerad: 2025
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Schwalbe Lehtihet, Oliver
Publicerad: 2024
Kandidat-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Haidari, Marvin, Abdi Salah, Salahudin
Publicerad: 2025
Kandidat-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Lagerhult, Patricia, O’Flaherty, Kevin
Publicerad: 2024
Master-uppsats, Blekinge Tekniska Högskola/Institutionen för programvaruteknik
Thummala, Lakshman Reddy, Rachaboyina, Hemanth
Publicerad: 2025
Master-uppsats, Blekinge Tekniska Högskola/Institutionen för programvaruteknik
Putta, Rahul, Pendyala, Murali
Publicerad: 2025