CDE: Using System Call Interposition to Automatically Create Portable Software Packages





The interactive transcript could not be loaded.



Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jun 27, 2011

Google Tech Talk (more info below)
February 11, 2011

Presented by Philip Guo.


It can be painfully difficult 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 tool 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, without any installation or configuration.

CDE is easy to use: Simply prepend any Linux command (or series of commands) with 'cde', and CDE will execute that command, monitor its actions using ptrace, and copy all files it accesses (e.g., executables, libraries, plug-ins, scripts, configuration/data files) into a self-contained package. Now you can transfer that package to another Linux machine and run that exact same command without installing anything. In short, if you can run a set of Linux commands on your x86 machine, then CDE enables others to run it on theirs.

People in both academia and industry have used CDE to distribute portable software, demo research prototypes, make their scientific experiments reproducible, run software natively on older Linux distros, and quickly deploy experiments to compute clusters.

CDE is free and open-source, available here:

Speaker Info:

Philip Guo. Philip is a 5th-year Ph.D. student in the Computer Science Department at Stanford University. His research interests are in software reliability, programming languages, and operating systems.


When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...