Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

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

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
3,046
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Jun 27, 2011

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

Presented by Philip Guo.

ABSTRACT

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:
http://www.stanford.edu/~pgbovine/cdepack.html

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.

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 0 dislikes

Link to this comment:

Share to:
see all

All Comments (10)

Sign In or Sign Up now to post a comment!
  • This is genius!!! The best solutions are normally simple. :)

  • Great stuff !

  • Thanks for the feedback, everyone! @lnostdal - yep, it works with Java software. @tmystervideo - CDE has some troubles with Google Chrome due to its sandbox ... if you run Chrome with --no-sandbox, it should work, but that's obviously insecure :)

  • could you expand on this system to vastly reduce the OS, whilst the Apps carry around the dependencies needed, might be good especially for small embedded devices and large research distubuted systems?

  • This is awesome; I can't get Chrome to install on my *brand new* RHEL workstation. I am gonna try this.

  • Very interesting. I wonder if it'll work with Java software.

  • This is a really awesome hack. It's pretty sad that it is necessary though. Windows is still a billion times better than linux for binary forwards & backwards compatibility. (Forwards compatibility doesn't really exist on linux at all!)

  • cool....

  • Really interesting, perfect way to use powerful computer without set the OS for your software....

  • Really cool. Personally, I prefer developers to put some sweat into packaging :-) (to avoid the Google Earth situation for example), but for quick'n'dirty this looks really suitable.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more