Cloud-based Failure Immunity System Released
A new approach for managing bugs in computer software enables entire networks of computers to cooperate in order to collectively avoid the manifestations of bugs in software. The new IT tool, developed by the Dependable Systems Lab at EPFL in Switzerland, called “Dimmunix,” enables programs to avoid future recurrences of bugs without any assistance from users or programmers. The approach, termed “failure immunity,” starts working the first time a bug occurs — it saves a signature of the bug, then observes what the computer does, and records a trace.
When the bug is about to manifest again, Dimmunix uses these traces to recognize the bug and automatically alters the execution so the program continues to run smoothly. For example, with Dimmunix, the Web browser learns how to avoid freezing when bugs associated to plug-ins occur. Going a step further, the latest version uses cloud computing technology to take advantage of networks and thereby inoculating entire communities of computers.
“Dimmunix could be compared to a human immune system. Once the body is infected, its immune system develops antibodies. Subsequently, when the immune system encounters the same pathogen once again, the body recognizes it and knows how to effectively fight the illness,” explains George Candea, director of Dependable Systems Lab, where the new tool has been developed.
The latest version, released online at the end of December 2009, leverages the network. Based on the principle of cloud computing, all computers participating in the Dimmunix application community benefit from vaccines automatically produced whenever the first manifestation of a given bug within that community. This new version of Dimmunix is able to safely protect programs from bugs, even in untrusted environments such as the Internet.
For the moment meant primarily for computer programmers, Dimmunix works for all widely-used programs used by private individuals and by companies. It is useful for programs written in Java and C/C++; it has been demonstrated on real software systems (JBoss, MySQL, ActiveMQ, Apache, httpd, MySQL, JDBC, Java JDK, and Limewire).
For further information: http://dimmunix.epfl.ch