Het systeem heeft geen ingreep nodig van gebruikers of programmeurs, zo beloven de ontwikkelaars. Dimmunix is software ontwikkeld door Dependable Systems Lab, een ontwikkelaar van de Ecole Polytechnique Fédérale de Lausanne (EPFL), en is bedoeld om problemen in cloudsoftware op te lossen. De tool is getest op systemen als Jboss, Apache, MySQL en Limewire.

Specifiek analiseert de tool momenten waarop een deadlock ontstaat in de programmatuur. Deadlock is het moment waarop twee threads, waarmee een computer meerdere processen tegelijkertijd aanstuurt, tegelijk aanspraak proberen te maken op dezelfde hulpbronnen, en dus op elkaar wachten totdat de ander de bronnen vrijgeeft. Het kan bijvoorbeeld gebeuren dat een van de threads de helft van een bepaalde hulpbron reserveert, terwijl een andere thread zich de andere helft toe-eigent.

Oneindig vast

Geen van de twee threads kunnen het proces afmaken, en wachten daarom (in theorie oneindig lang) tot de ander de benodigde bronnen vrijgeeft. Het risico op een deadlock is met een cloudomgeving en webapplicaties extra groot, omdat processen daar meer opgedeeld worden tussen verschillende hulpbronnen.

In het geval van een deadlock gaat Dimmunix aan het werk om te zien hoe en waarom het conflict ontstaat. Vervolgens maakt de tool een signature aan van de deadlock en legt hij vast hoe en op welk moment welke bronnen worden benaderd. Als een soort verkeersagent zorgt de tool er daarna voor dat de deadlock niet opnieuw kan voorkomen.

Immuunsysteem

“Je kunt het vergelijken met het menselijk immuunsysteem”, zegt George Candea, hoofd van Dependable Systems Lab, tegenover The Register. “Het immuunsysteem maakt antistoffen aan op het moment dat het lichaam wordt geïnfecteerd. Op het moment dat het immuunsysteem dezelfde bacterieën weer tegenkomt, worden deze door het lichaam herkend en weet het organisme hoe het zich ertegen moet verzetten.”

Verder kan de nieuwste versie de signatures over een geheel netwerk verdelen, waarmee fouten die een keer op een host zijn voorgekomen niet opnieuw elders kunnen optreden. Dimmunix is op dit moment vooral gericht op ontwikkelaars die in Java en C/C++ schrijven.