{"title":"CARE, the comprehensive archiver for reproducible execution","authors":"Yves Janin, Cédric Vincent, Rémi Duraffort","doi":"10.1145/2618137.2618138","DOIUrl":null,"url":null,"abstract":"We present CARE, the Comprehensive Archiver for Reproducible Execution on Linux. CARE runs in userland, requires no setup and performs a single task: building an archive that contains selected executables and files accessed by a given application during an observation run. To reproduce computational results from this initial run, it is then enough to unpack the archive that comes equipped with all necessary tools for re-execution in a confined environment.\n Technically, CARE leverages on PRoot, a generic system call interposition engine that relies on the ptrace mechanism to monitor (and if needed to modify) system calls emitted by applications under scrutiny. PRoot is extensible and CARE is properly speaking an extension of PRoot. CARE is available on x86_64, x86 and ARM processors, and benefits from a new history-based algorithm that automatically selects files to be stored in a CARE archive.","PeriodicalId":355592,"journal":{"name":"Trust and Trustworthy Computing","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"29","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Trust and Trustworthy Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2618137.2618138","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 29
Abstract
We present CARE, the Comprehensive Archiver for Reproducible Execution on Linux. CARE runs in userland, requires no setup and performs a single task: building an archive that contains selected executables and files accessed by a given application during an observation run. To reproduce computational results from this initial run, it is then enough to unpack the archive that comes equipped with all necessary tools for re-execution in a confined environment.
Technically, CARE leverages on PRoot, a generic system call interposition engine that relies on the ptrace mechanism to monitor (and if needed to modify) system calls emitted by applications under scrutiny. PRoot is extensible and CARE is properly speaking an extension of PRoot. CARE is available on x86_64, x86 and ARM processors, and benefits from a new history-based algorithm that automatically selects files to be stored in a CARE archive.