Detecting Software Errors via Genetic Algorithms

According to a current study from the University of Cambridge, software developers are spending about the half of their time on detecting errors and resolving them. Projected onto the global software industry, according to the study, this would amount to a bill of about 312 billion US dollars every year. "Of course, automated testing is cheaper", explains Andreas Zeller, professor of Software Engineering at Saarland University, as you could run a program a thousand times without incurring any charges. "But where do these necessary test cases come from?" asks Zeller. "Generating them automatically is tough, but thinking of them yourself is even tougher."

In cooperation with the computer scientists Nikolas Havrikov and Matthias Höschele, he has now developed the software system "XMLMATE". It generates test cases automatically and uses them to test the given program code automatically. What is special about it is that the only requirement the program to be tested has to meet is that its input must be structured in a certain way, since the researchers use it to generate the initial set of test cases. They feed them to the so-called genetic algorithm on which the testing is based. It works similarly to biological evolution, where the chromosomes are operating as the input. Only the input that covers a significant amount of code which has not been executed yet survives. As Nikolas Havrikov explains their strategy: "It is not easy to detect a real error, and the more code we are covering, the more sure we can be that more errors will not occur." Havrikov implemented XMLMATE. "As we use the real existing input interface, we make sure that there are no false alarms: Every error found can also happen during the execution of the program," adds Zeller.

The researchers have unleashed their software on open source programs users are already working with in daily life. With their program they detected almost twice as many fatal errors as similar test methods that only work with randomly generated input. "But the best thing is that we are completely independent from the application area. With our framework, we are not only able to test computer networks, the processing of datasets, websites or operating systems, but we can also examine software for sensors in cars," says Zeller.

The computer scientists in Saarbrücken developed XMLMATE in the Java programming language. The input for the software to test is defined according to the description language XML, so the existence of a XML schema is helpful. Since XML is standardized and considered as a kind of world language between input formats, most of the programming input fits XMLMATE and if not, it can be quickly converted to do so with the corresponding tools.

The Department of Computer Science represents the center of computer science research in Saarbrücken. Seven other worldwide renowned research institutes are close by the department: The Max Planck Institutes for Informatics and for Software Systems, the German Research Center for Artificial Intelligence (DFKI), the Center for Bioinformatics, the Intel Visual Computing Institute, the Center for IT Security, Privacy and Accountability (CISPA) and the Cluster of Excellence "Multimodal Computing and Interaction".

Most Popular Now

Integrating Care Records is Good. Using …

Opinion Article by Dr Paul Deffley, Chief Medical Officer, Alcidion. A single patient record already exists in the NHS. Or at least, that’s a perception shared by many. A survey of...

Should AI Chatbots Replace Your Therapis…

The new study exposes the dangerous flaws in using artificial intelligence (AI) chatbots for mental health support. For the first time, the researchers evaluated these AI systems against clinical standards...

AI could Help Pathologists Match Cancer …

A new study by researchers at the Icahn School of Medicine at Mount Sinai, Memorial Sloan Kettering Cancer Center, and collaborators, suggests that artificial intelligence (AI) could significantly improve how...

AI Detects Early Signs of Osteoporosis f…

Investigators have developed an artificial intelligence-assisted diagnostic system that can estimate bone mineral density in both the lumbar spine and the femur of the upper leg, based on X-ray images...

AI Model Converts Hospital Records into …

UCLA researchers have developed an AI system that turns fragmented electronic health records (EHR) normally in tables into readable narratives, allowing artificial intelligence to make sense of complex patient histories...

AI Sharpens Pathologists' Interpret…

Pathologists' examinations of tissue samples from skin cancer tumours improved when they were assisted by an AI tool. The assessments became more consistent and patients' prognoses were described more accurately...

AI Tool Detects Surgical Site Infections…

A team of Mayo Clinic researchers has developed an artificial intelligence (AI) system that can detect surgical site infections (SSIs) with high accuracy from patient-submitted postoperative wound photos, potentially transforming...

Forging a Novel Therapeutic Path for Pat…

Rett syndrome is a devastating rare genetic childhood disorder primarily affecting girls. Merely 1 out of 10,000 girls are born with it and much fewer boys. It is caused by...

Mayo Clinic's AI Tool Identifies 9 …

Mayo Clinic researchers have developed a new artificial intelligence (AI) tool that helps clinicians identify brain activity patterns linked to nine types of dementia, including Alzheimer's disease, using a single...

AI Detects Fatty Liver Disease with Ches…

Fatty liver disease, caused by the accumulation of fat in the liver, is estimated to affect one in four people worldwide. If left untreated, it can lead to serious complications...

AI Matches Doctors in Mapping Lung Tumor…

In radiation therapy, precision can save lives. Oncologists must carefully map the size and location of a tumor before delivering high-dose radiation to destroy cancer cells while sparing healthy tissue...

Meet Your Digital Twin

Before an important meeting or when a big decision needs to be made, we often mentally run through various scenarios before settling on the best course of action. But when...