Checkpoint-restart-verify: a methodology and tool to facilitate experimentation with program sections
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
University of Delaware
Abstract
Throughout anyone's programming career/studies, there comes a point where they are testing out or developing a part of their code that would require a lot of previous computations to be completed before they can actually test out their changes or new implementation, dramatically increasing the testing time of a part of the code that takes significantly less time to run. ☐ This problem wastes valuable testing and development time, as a lot of time is spent waiting on parts that have been completed/known to work to finish running before the experimental section can be run and tested. Further more, that time is wasted every time a change is made to the experimental section that needs to be tested. ☐ With that motivation in mind, the idea of a tool to provide a smoother testing/development experience for experimental sections (experimenting on a code section) came to fruition. The main idea behind such a program is to checkpoint the state of a program before entering an experimental section and also checkpoint the output of that code section. ☐ Checkpointing the start of a code section allows for the section to be restarted without running any of the previous computations (saves time), and checkpointing the end of the experimental section allows for comparison of the section's initial state (no modifications or experimentation) with a new modified section's state (after it was modified) to test the equality of both states of the program. ☐ Developing such a suite to allow for automatic checkpointing of code sections is the main goal of this paper.
Description
Keywords
Checkpoint, Restart and verify, Experimental sections, Code sections