UpStare 0.12.9

A dynamic software updating system for multi-threaded userspace applications that applies immediate updates using stack reconstruction
The program code and the program state are updated immediately in a single step.

It is not necessary to wait indefinitely for a quiescent program state. A running algorithm can be updated midstream its execution and resumed from a different point (not necessarily the beginning) of another algorithm.

Main features:

  • Recursion:
  • Updating an application recursively computing Fibonacci numbers, while nested deep in the stack, to report additional information when the recursion unwinds.
  • Network Sockets:
  • Updating a server application while serving multiple clients without closing the network socket.
  • Multi-threaded Applications:
  • Updating the main function body executed by multiple threads of an application. Also, updating in a producer/consumer multi-threaded application only the consumer threads while the producer threads remained unmodified.
  • Multi-nested Long-Lived Loops:
  • Updating in the middle of executing Bubblesort, a multi-nested long-lived loop, to continue executing from the middle of a different multi-nested long-lived loop implementing Selectionsort while reusing the existing program state. Additionally, updating from Bubblesort to Heapsort, which is a drastically different sorting algorithm executing over different loop iterators.
  • vsFTPd:
  • Updating the multi-process (forked processes do not communicate) vsFTPd 2.0.4 server while serving 50 clients.
  • PostgreSQL:
  • Updating the multi-process (forked processes communicate) PostgreSQL 7.4.16 database server while serving 50 clients.

last updated on:
August 2nd, 2012, 7:01 GMT
license type:
Freely Distributable
developed by:
Kristis Makris
ROOT \ Programming \ Debuggers
Download Button

In a hurry? Add it to your Download Basket!

user rating 3



Rate it!
What's New in This Release:
  • This version was compiled with debugging statements disabled for performance.
  • Parts of the documentation on preparing dynamic updates were corrected.
read full changelog

Add your review!