Techniques for Preserving Scientific Software Executions: Preserve the Mess or Encourage Cleanliness?

Article

Abstract

An increasing amount of scientific work is performed in silico, such that the entire process of investigation, from experiment to publication, is performed by computer. Unfortunately, this has made the problem of scientific reproducibility even harder, due to the complexity and imprecision of specifying and recreating the computing environments needed to run a given piece of software. Here, we consider from a high level what techniques and technologies must be put in place to allow for the accurate preservation of the execution of software. We assume that there exists a suitable digital archive for storing digital objects; what is missing are frameworks for precisely specifying, assembling, and executing software with all of its dependencies. We discuss the fundamental problems of managing implicit dependencies and outline two broad approaches: preserving the mess, and encouraging cleanliness. We introduce three prototype tools for preserving software executions: Parrot, Umbrella, and Prune.

Attributes

Attribute NameValues
Creator
  • Douglas Thain

  • Peter Ivie

  • Haiyan Meng

Publisher
  • University of Notre Dame

Date Created
  • 2015-10-28

Bibliographic Citation
Language
  • English

Related Resource(s)
Departments and Units
Access Rights Open Access
Content License

Digital Object Identifier

doi:10.7274/R0CZ353M

This DOI is the best way to cite this article.

Files

Please Note: You may encounter a delay before a download begins. Large or infrequently accessed files can take several minutes to retrieve from our archival storage system.