A new approach for managing bugs in computer software has been developed by a team led by Prof. George Candea at EPFL. The latest version of Dimmunix, available for free download, enables entire networks of computers to cooperate in order to collectively avoid the manifestations of bugs in software.
A 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 how the computer reacts, and records a trace. When the bug is about to manifest again, Dimmunix uses these traces to rec-ognize the bug and automatically alters the execution so the program continues to run smooth-ly. With Dimmunix, your Web browser learns how to avoid freezing a second time when bugs associated with, for example, 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 ill-ness," explains George Candea, director of Dependable Systems Lab, where the new tool has been developed. The young Romanian professor received his PhD in computer science from Stanford University in 2005 and his BS (1997) and MEng (1998) in computer science from the Massachusetts Institute of Technology.
The latest version, released online at the end of December (http://dimmunix.epfl.ch/), leverag-es 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 un-trusted environments such as the In-ternet.
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, Acti-veMQ, Apache, httpd, JDBC, Java JDK, and Limewire).