Software updates are designed to make your applications run faster. But that’s not always the case.
Sometimes, bugs, known as performance regressions, end up slowing down the entire system. We’ve all experienced that frustration that comes when your app isn’t just working well after a major update.
Unfortunately, locating the source of the Software error is never easy. Since it requires substantial human intervention, the process can be extremely time-consuming.
To address this issue, Texas A&M University researchers teamed up with computer scientists at Intel Labs. Together, they devised a completely automated way of identifying the source of errors caused by a software update.
The algorithm is based on deep learning — a specialized form of machine learning. And this resulted in a turnkey that can find performance bugs within a few hours instead of days.
Speaking about the project, assistant professor in the Department of Computer Science and Engineering, Dr. Abdullah Muzahid said:
“We have designed a convenient tool for diagnosing performance regressions that is compatible with a whole range of software and programming languages, expanding its usefulness tremendously.”
The researchers further explained how the tool works in the 32nd edition of Advances in Neural Information Processing Systems.
How Performance Counters Find the Source of Errors in Software Updates
Debuggers often check the status of performance counters within the CPU to identify the source of errors in software.
Think of the counters as a hall monitor for programs.
They are lines of code that track how the program works on the hardware’s memory. For example, the counters track the number of times a software accesses a memory location, how long it stayed there, and when it left.
That way, when the software doesn’t function properly, counters can also serve as diagnostic tools.
“Performance counters give an idea of the execution health of the program,” said Muzahid. “So, if some program is not running as it is supposed to, these counters will usually have the telltale sign of anomalous behavior.”
Newer desktops and servers now come with hundreds of performance counters. So, it’s almost impossible to track of all their performances manually, and still find the signs of a performance error.
That’s where machine learning comes in.
Combining a Deep Learning Tool With Performance Counters
Thanks to the Deep Learning Tool, researchers could monitor data from a large number of counters simultaneously by reducing the data size. At this low data size, the algorithm could then look for possible pattern deviations.
In a test, the algorithm located and diagnosed a bug within a commercially-available management software within hours. According to Muzahid, a manual analysis would have taken a long time.
The researchers pointed out that the Deep Learning program has other potential uses aside from diagnosing performance regressions. For example, it could help develop technology for autonomous driving.
“The basic idea is once again the same, that is being able to detect an anomalous pattern,” said Muzahid. “Self-driving cars must be able to detect whether a car or a human is in front of it and then act accordingly.”
“So, it’s again a form of anomaly detection, and the good news is that is what our algorithm is already designed to do.”
Read More: New Deep Learning System Predicts Extreme Weather Events
The post New Deep Learning Tool can Find Bugs in Software Updates appeared first on EDGY_ Labs.