Computer science professor Yuanyuan Zhou and her students have assembled a suite of software tools that can find and correct bugs by inferring the programmer's intentions. The tools draw from observations on how programmers write code.
"Most bug-detection tools require reproduction of bugs during execution," Zhou said. "The program is slowed down significantly and monitored by these tools, which watch for certain types of abnormal behavior. Most of our tools, however, work by only examining the source code for defects, requiring little effort from programmers."
Copy-pasted code, for example, often appears in large programs. While saving considerable programming effort, copy-pasted code can be the source of numerous bugs. Zhou's copy-paste tool, called CP-Miner, uses data-mining techniques to find copy-pasted code in the program and examine and correct that code for consistent modifications.
CP-Miner has found many bugs in the latest versions of large open-source software used in the information technology industry, Zhou said. CP-Miner is fast and efficient - it can scan 3-4 million lines of code for copy-paste and related bugs in less than 30 minutes.
Large programs also tend to follow many implicit rules and assumptions, so Zhou and her students developed a related tool, called PR-Miner, to detect when those rules have been broken. Like CP-Miner, PR-Miner is based on data-mining techniques.
"First, we mine the source code for patterns, repetitions and correlations that point to implicit programming rules and assumptions," Zhou said. "Then we check that those rules and assumptions have not been violated."
PR-Miner also is very fast and has found many bugs in the latest open-source software. It takes PR-Miner only a few minutes to scan 4 million lines of code.
Not only are their efforts directed toward detecting, diagnosing and fixing bugs, Zhou and her students also are exploring techniques that allow software to survive in the presence of bugs. Rx, for example, is a recovery tool that allows software to survive by treating bugs like allergies.
"If you are allergic to cats, you try to avoid cats," Zhou said. "In much the same way, Rx is avoidance therapy for software failure. If the software fails, Rx rolls the program back to a recent checkpoint, and re-executes the program in a modified environment."
A fourth tool, called Triage, diagnoses software failures at the end-user site. Following a human-like diagnosis protocol, Triage rapidly identifies the nature of the problem and provides valuable input to help programmers quickly understand the failure and fix the bug.
"If something bad happens or the software crashes, Triage's diagnosis protocol will start automatically and quickly suggest a temporary fix until programmers can release a fixing patch," Zhou said.
In addition to being fast and efficient, Zhou's software tools are scalable and can be tailored for specific software programs, including programs running on parallel processors.
The work was funded by the National Science Foundation and the Intel Corp.
James Kloeppel | University of Illinois
Seeing the forest through the trees with a new LiDAR system
28.06.2017 | The Optical Society
Drones that drive
27.06.2017 | Massachusetts Institute of Technology, CSAIL
An international team of scientists has proposed a new multi-disciplinary approach in which an array of new technologies will allow us to map biodiversity and the risks that wildlife is facing at the scale of whole landscapes. The findings are published in Nature Ecology and Evolution. This international research is led by the Kunming Institute of Zoology from China, University of East Anglia, University of Leicester and the Leibniz Institute for Zoo and Wildlife Research.
Using a combination of satellite and ground data, the team proposes that it is now possible to map biodiversity with an accuracy that has not been previously...
Heatwaves in the Arctic, longer periods of vegetation in Europe, severe floods in West Africa – starting in 2021, scientists want to explore the emissions of the greenhouse gas methane with the German-French satellite MERLIN. This is made possible by a new robust laser system of the Fraunhofer Institute for Laser Technology ILT in Aachen, which achieves unprecedented measurement accuracy.
Methane is primarily the result of the decomposition of organic matter. The gas has a 25 times greater warming potential than carbon dioxide, but is not as...
Hydrogen is regarded as the energy source of the future: It is produced with solar power and can be used to generate heat and electricity in fuel cells. Empa researchers have now succeeded in decoding the movement of hydrogen ions in crystals – a key step towards more efficient energy conversion in the hydrogen industry of tomorrow.
As charge carriers, electrons and ions play the leading role in electrochemical energy storage devices and converters such as batteries and fuel cells. Proton...
Scientists from the Excellence Cluster Universe at the Ludwig-Maximilians-Universität Munich have establised "Cosmowebportal", a unique data centre for cosmological simulations located at the Leibniz Supercomputing Centre (LRZ) of the Bavarian Academy of Sciences. The complete results of a series of large hydrodynamical cosmological simulations are available, with data volumes typically exceeding several hundred terabytes. Scientists worldwide can interactively explore these complex simulations via a web interface and directly access the results.
With current telescopes, scientists can observe our Universe’s galaxies and galaxy clusters and their distribution along an invisible cosmic web. From the...
Temperature measurements possible even on the smallest scale / Molecular ruby for use in material sciences, biology, and medicine
Chemists at Johannes Gutenberg University Mainz (JGU) in cooperation with researchers of the German Federal Institute for Materials Research and Testing (BAM)...
19.06.2017 | Event News
13.06.2017 | Event News
13.06.2017 | Event News
28.06.2017 | Physics and Astronomy
28.06.2017 | Physics and Astronomy
28.06.2017 | Health and Medicine