Industrial Electronics

Algorithm can diagnose computer bugs in a few hours

14 February 2020

Researchers from Texas A&M University and Intel Labs created a deep learning algorithm that can identify the source of computer errors caused by a recent software update. The algorithm can find a bug within a few hours.

Schematic illustrating how Muzahid's deep learning algorithm works. The algorithm is ready for anomaly detection after it is first trained on performance counter data from a bug-free version of a program. (Source: Texas A&M Engineering)Schematic illustrating how Muzahid's deep learning algorithm works. The algorithm is ready for anomaly detection after it is first trained on performance counter data from a bug-free version of a program. (Source: Texas A&M Engineering)

Software updates may intend to make applications run faster, but sometimes they slow down applications due to bugs. Bugs are time-consuming to fix because they require a lot of human intervention. These issues become huge problems for companies that run large scale software systems.

The tool diagnoses performance regressions compatible with a range of software and programming languages. Pinpointing the source of bugs requires programmers to frequently check the status within the central processing unit. When software runs, counters (lines of code that monitor a program) keep track of the number of times it accesses certain memory locations, how long it stays there, when it exists and more. Performance counters provide an idea of the health of a program. If something isn’t running right, counters will hold the answer to what is wrong.

New desktops have 100s of performance counters. It is impossible to track the status of all counters manually and look for patterns to find an error. Using deep learning, the team could monitor data from a large number of counters simultaneously by reducing the data's size. This is similar to compressing a high-resolution image to a fraction of the original size by changing the format. In lower dimension data the algorithm could look for patterns that are not normal.

During testing, the team tasked the algorithm with finding a performance bug in commercially available data management software. The algorithm was first trained to recognize normal counter data by running older, glitch-free data management software. The program was then run on updated software that has performance regression. The algorithm successfully located and diagnosed the bug within a few hours.

The team believes that their algorithm could be used in other areas of research, like developing autonomous driving tech.

A paper on the algorithm was published in Advances in Neural Information Processing Systems.



Powered by CR4, the Engineering Community

Discussion – 0 comments

By posting a comment you confirm that you have read and accept our Posting Rules and Terms of Use.
Engineering Newsletter Signup
Get the GlobalSpec
Stay up to date on:
Features the top stories, latest news, charts, insights and more on the end-to-end electronics value chain.
Advertisement
Weekly Newsletter
Get news, research, and analysis
on the Electronics industry in your
inbox every week - for FREE
Sign up for our FREE eNewsletter
Advertisement