Software Resurrection: Discovering Programming Pearls by Showing Modernity to Historical Software
Abhishek Dutta

TL;DR
This paper introduces the software resurrection exercise, where learners compile and test historical software on modern platforms to understand software maintainability and engineering principles.
Contribution
It presents a novel educational exercise that helps learners experience software maintenance challenges and discover programming pearls through historical software adaptation.
Findings
Resurrecting 20-year-old software reveals enduring software engineering principles.
The exercise enhances understanding of code maintainability and documentation.
It fosters lifelong learning and exploration of existing program code.
Abstract
Reading computer program code and documentation written by others is, we are told, one of the best ways to learn the art of writing intelligible and maintainable code and documentation. The software resurrection exercise, introduced in this paper, requires a motivated learner to compile and test a historical release (e.g. 20 years old) version of a well maintained and widely adopted open source software on a modern hardware and software platform. This exercise concludes by writing a critique based on issues encountered while compiling and testing a historical software release on a hardware and software platform that could not have been foreseen at the time of release. The learner is also required to fix the issues as a part of the software resurrection exercise. The seemingly pointless exercise of resurrecting a historical software allows motivated learners to experience the pain and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Software Engineering Research · Advanced Data Storage Technologies
