About BugLab by Microsoft Research
BugLab is an innovative deep learning model developed by Microsoft Research, aimed at detecting and fixing bugs in code. This model is designed to alleviate the time-consuming and often frustrating task of bug detection and repair for software developers.
Here are four key features of BugLab
- Self-Supervised Learning: BugLab operates on a self-supervised learning model. It uses two competing models that learn by playing a “hide and seek” game, inspired by generative adversarial networks (GANs). One model introduces a bug into the code, and the other model tries to detect and fix it.
- Understanding Code Structure and Language: BugLab is designed to reason over the code’s structure and understand the ambiguous natural language hints that software developers leave in code comments, variable names, and more. This allows it to detect and fix bugs that might otherwise be overlooked.
- Training on Real-Life Code: BugLab is trained on millions of real-life code snippets. The model learns to detect and fix bugs by playing the “hide and seek” game with the bug selector model.
- Performance: In tests, models trained with BugLab’s “hide-and-seek” method were up to 30% better compared to other alternatives. The model was able to find and fix about 26% of bugs automatically, including 19 previously unknown bugs in real-life open-source GitHub code. However, it also produced many false positive warnings, indicating that further advancements are needed before such models can be practically deployed.