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

AI also Assesses Dutch Mammograms Better…

AI is detecting tumors more often and earlier in the Dutch breast cancer screening program. Those tumors can then be treated at an earlier stage. This has been demonstrated by...

RSNA AI Challenge Models can Independent…

Algorithms submitted for an AI Challenge hosted by the Radiological Society of North America (RSNA) have shown excellent performance for detecting breast cancers on mammography images, increasing screening sensitivity while...

Unlocking the 10 Year Health Plan

The government's plan for the NHS is a huge document. Jane Stephenson, chief executive of SPARK TSL, argues the key to unlocking its digital ambitions is to consider what it...

AI can Find Cancer Pathologists Miss

Men assessed as healthy after a pathologist analyses their tissue sample may still have an early form of prostate cancer. Using AI, researchers at Uppsala University have been able to...

Alcidion Grows Top Talent in the UK, wit…

Alcidion has today announced the addition of three new appointments to their UK-based team, with one internal promotion and two external recruits. Dr Paul Deffley has been announced as the...

How AI could Speed the Development of RN…

Using artificial intelligence (AI), MIT researchers have come up with a new way to design nanoparticles that can more efficiently deliver RNA vaccines and other types of RNA therapies. After training...

AI, Full Automation could Expand Artific…

Automated insulin delivery (AID) systems such as the UVA Health-developed artificial pancreas could help more type 1 diabetes patients if the devices become fully automated, according to a new review...

MIT Researchers Use Generative AI to Des…

With help from artificial intelligence, MIT researchers have designed novel antibiotics that can combat two hard-to-treat infections: drug-resistant Neisseria gonorrhoeae and multi-drug-resistant Staphylococcus aureus (MRSA). Using generative AI algorithms, the research...

Penn Developed AI Tools and Datasets Hel…

Doctors treating kidney disease have long depended on trial-and-error to find the best therapies for individual patients. Now, new artificial intelligence (AI) tools developed by researchers in the Perelman School...

AI Hybrid Strategy Improves Mammogram In…

A hybrid reading strategy for screening mammography, developed by Dutch researchers and deployed retrospectively to more than 40,000 exams, reduced radiologist workload by 38% without changing recall or cancer detection...

New Training Year Starts at Siemens Heal…

In September, 197 school graduates will start their vocational training or dual studies in Germany at Siemens Healthineers. 117 apprentices and 80 dual students will begin their careers at Siemens...

Routine AI Assistance may Lead to Loss o…

The introduction of artificial intelligence (AI) to assist colonoscopies is linked to a reduction in the ability of endoscopists (health professionals who perform colonoscopies) to detect precancerous growths (adenomas) in...