title: "CDE: Using System Call Interposition to Automatically Create Portable Software Packages" authors: Philip J. Guo and Dawson Engler venue: USENIX Annual Technical Conference, short paper year: 2011 links: - Blog post tweet: CDE lets users run any set of Linux programs on other Linux machines without any installation abstract: > It can be painfully hard to take software that runs on one person's machine and get it to run on another machine. Online forums and mailing lists are filled with discussions of users' troubles with compiling, installing, and configuring software and their myriad of dependencies. To eliminate this dependency problem, we created a system called CDE that uses system call interposition to monitor the execution of x86-Linux programs and package up the Code, Data, and Environment required to run them on other x86-Linux machines. Creating a CDE package is completely automatic, and running programs within a package requires no installation, configuration, or root permissions. Hundreds of people in both academia and industry have used CDE to distribute software, demo prototypes, make their scientific experiments reproducible, run software natively on older Linux distributions, and deploy experiments to compute clusters. bibtex: > @inproceedings{GuoCdeUsenix2011, author = {Guo, Philip J. and Engler, Dawson}, title = {{CDE}: Using System Call Interposition to Automatically Create Portable Software Packages}, booktitle = {Proceedings of the 2011 USENIX Annual Technical Conference}, series = {USENIX'11}, year = {2011}, location = {Portland, OR}, url = {http://dl.acm.org/citation.cfm?id=2002181.2002202}, acmid = {2002202}, publisher = {USENIX Association}, address = {Berkeley, CA, USA}, }