Microsoft Has Developed an AI That Can Find and Fix Bugs in Code
Finding and fixing bugs with deep learning
Microsoft in well positioned in AI heading into 2022.
I also cover AI News at AiSupremacy. You can sign up via Email below:
Microsoft is an AI for Good Leader
Microsoft supports researchers, non-profits, and organizations who are using technology and AI to improve the world across multiple disciplines: the environment, accessibility, humanitarian issues, cultural heritage, and health.
Recently I discovered Microsoft's BugLab, which uses two competing models that learn by playing a “hide and seek” game that is broadly inspired by generative adversarial networks (GAN).
Given some existing code, presumed to be correct, a bug selector model decides if it should introduce a bug, where to introduce it, and its exact form (e.g., replace a specific “+” with a “-“). Given the selector choice, the code is edited to introduce the bug. Then, another model, the bug detector, tries to determine if a bug was introduced in the code, and if so, locate it, and fix it.
You can read more about it on the Microsoft Research blog here. https://www.microsoft.com/en-us/research/blog/finding-and-fixing-bugs-with-deep-learning/
Towards an AI-Human Hybrid Software Engineer's Life
Microsoft understands that AI can help automate the future of work for developers. Writing code is only the first step in creating something. Combing through your code for bugs and fixing them is time-consuming and often takes longer than anticipated, but is an essential step nonetheless.
If only there was a way to automatically fix bugs that goes beyond syntax errors and truly understands the intentions behind your code.
Recently, Microsoft developed an AI capable of detecting and fixing bugs in code using deep learning. But how did this piece of revolutionary tech come to exist, and how does it work?
BugLab is an artificial intelligence Python implementation that hunts for and fixes bugs within code. It was developed by Miltos Alamanis and Marc Brockschmidt, two researchers at Microsoft Research. Lately I'm really impressed with Microsoft Research's output and quality of work.
While there are dozens of tools available for static analysis of code in various languages to find security flaws, researchers have been exploring techniques that use machine learning to improve the ability to both detect flaws and fix them.
BugLab comes out of Researchers at Microsoft Research Cambridge, UK.
BugLab was trained using two computing models; one that hides bugs within correct snippets of code, and another that seeks and corrects the bugs.
Both models continuously learn from each other. Over time, the bug selector becomes better at hiding bugs in the code, and the detector becomes better at catching and fixing them.
I find that a pretty elegant solution. BugLab aims to find hard-to-detect bugs versus critical bugs that can be already found through traditional program analyses.
Creating deep learning models that learn to detect and repair bugs is a fundamental task in AI research, as a solution requires human-level understanding of program code and contextual cues from variable names and comments.
Microsoft Also has a Conversational Language Understanding Client Library
Microsoft has released the next generation Conversational Language Understanding client library, allowing developers to use the Azure Cloud Conversational Language Understanding service to train models and use them in applications to provide related language services.
Developers can use .NET or Python, and these libraries are currently under beta development.
Microsoft Blog: https://devblogs.microsoft.com/azure-sdk/introducing-the-next-generation-of-the-conversational-language-understanding-client-library/
I also cover AI News at AiSupremacy. You can sign up via Email below:
Wishing you all a Happy New Year for 2022.