Imagine if we never had any more computer problems. No more rail travel chaos caused by signal failures, no more accidents, internet banking that is always secure and medical equipment that always works as it should. It would be a dream world. But aren't errors inevitable in computer systems? Won't some things always be overlooked? Not anymore! We no longer have to overlook anything, according to University of Twente PhD candidate Eduardo Zambon of the Centre for Telematics and Information Technology (CTIT). Because with model checking we can remove the faults from the systems, making them error-free. Zambon, originally from Brazil, obtained his PhD on this subject on January 24, 2013.
Model checking is not the same as testing computer systems. With testing, errors can be traced in the systems, but testing is never sufficient to anticipate all possible combinations of errors in advance. With model checking, an advanced mathematical method of checking computer systems, for example with the use of the GROOVE modelling tool, this is a real possibility. Research in this field has been carried out at the University of Twente for the last ten years. "We want the world to know that we have made great advances in this area, and that the business community, and also the government, can ultimately benefit from our research", says Arend Rensink, Professor of Software Modelling, Transformation and Verification and Eduardo Zambon's thesis supervisor and tutor. "We help programmers on their way, so that soon they will be able to guarantee the reliability of their software."
"You have to realise that computer systems can be analysed endlessly: the number of possible scenarios is incalculable. All kinds of things can go wrong, in ways you cannot predict. But if we are always warned in advance of everything that could go wrong, then we can predict the future, so to speak. That might sound like a very grand claim, but with our research it can be achieved. We then actually have the solution before the problem arises, and that is essential for reliable software!"
"To give a few very concrete examples: we can help the national railway company combat signal failures, and even prevent rail accidents. Or take the current problems with the Fyra high speed trains: we could have traced them, because it turns out that merely testing the operating systems is not enough. And the same applies in other areas. The Albert Heijn supermarket chain always places beer orders, but in one particular period, after Carnival, no beer orders arrived. All kinds of things went wrong in their computer system, and this had a direct effect on the company's efficiency. If we had applied our analysis there, we could have removed this 'bug' from the system in advance. That saves an organization a lot of time, money and trouble. So we can safely say that we have developed a predictive model for all areas where computers are used, and we can't wait to apply it to the full in society", according to Eduardo Zambon and Arend Rensink.
Explore further: Fully automatic software testing
His dissertation is titled 'Abstract Graph Transformation Theory and Practice.'