A tool for catching bugs in computer software has been developed by a team led by Prof George Cande at the Dependable Systems Lab at EPFL in Switzerland.
The tool, called Dimmunix, enables programs to avoid future recurrences of bugs without any assistance from users or programmers.
The approach it takes to do so, 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 itself again, Dimmunix uses these traces to recognise the bug and automatically alters the execution so the program continues to run smoothly. For example, with Dimmunix, a web browser can ’learn’ 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 inoculates entire communities of computers.
’Dimmunix could be compared to a human immune system,’ said George Candea, director of the Dependable Systems Lab, where the new tool was developed. ’Once the body is infected, its immune system develops antibodies. Subsequently, when the immune system encounters the same pathogen once again, the body recognises it and knows how to effectively fight the illness.’
The latest version of Dimmunix, available to download for free at http://dimmunix.epfl.ch, enables entire networks of computers to cooperate to collectively avoid the manifestations of bugs in software.
A tool primarily for use by computer programmers, Dimmunix works for all 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).