Dealing With Software Collapse
From AcaWiki
Citation: Konrad Hinsen (2019/05/06) Dealing With Software Collapse. Computing in Science & Engineering (RSS)
DOI (original publisher): 10.1109/MCSE.2019.2900945
Semantic Scholar (metadata): 10.1109/MCSE.2019.2900945
Sci-Hub (fulltext): 10.1109/MCSE.2019.2900945
Internet Archive Scholar (search for fulltext): Dealing With Software Collapse
Download: https://ieeexplore.ieee.org/document/8701540
Tagged: Computer Science
(RSS) software engineering (RSS)
Background
- "Software collapse" (aka bit rot): the fact that code stops working, even though it is unchanged.
- The underlying foundation may have changed.
- Mitigations:
- Restriction: Only build on solid foundation; dn't have a lot of dependencies
- Good for "foundational" layer 1 and 2 software.
- Robustness: Make your code robust to changes in foundation.
- Not enough tooling to use. Perhaps Nix and Docker fit here.
- Maintenance: Update when foundation changes.
- Most common and quite time-consuming.
- Acceptance: Accept that the construction is short-lived and start from scratch.
- Only appropriate for throw-away code.
- Restriction: Only build on solid foundation; dn't have a lot of dependencies