By developers, for developers: How Metabob’s AI tool will forever change how developers approach debugging

Advances in automation technology have led to the rise of new platforms and products. From collaboration platforms for API development, to integrated development environments (IDEs), such resources have become a developer’s best friend.

However, being developers ourselves, we knew that one major area in need of such a resource was the code correction process. Most developers rely on a manual overview of their codebase, making the process resource-intensive and error prone. While the current norm for developers in deep tech is to use rule-based systems to uncover errors within a codebase, such systems mostly detect syntax or spelling related errors, providing a limited impact for developers. Bugs that are prevalent in a repository were not often detected by these tools, leading to developers manually determining where the problem areas are located..

What we saw was the need for a comprehensive solution to make code correction simple, efficient, and effective. As we set out to address this challenge in 2019, we knew that it was ideal for the solution for developers to be built by developers, because user input as well as a solid understanding of a developer’s pain points would directly impact the tool and its functionality. This resulted in Metabob’s model being written entirely on open-source code from Python developers across the globe. Today, Metabob leverages AI in real-time, derived from millions of data points supported from the open-source community. This allows for a diverse, reality-based solution to most commonly found bugs. While other programs rely on rule-based systems for their analysis, open-source material provides users with more realistic, tangible, hard-to-fix-bugs that might be hidden within a repository.

Metabob stands as an AI-assisted tool used to debug and visualise Python code. Using a combination of conventional static analysis, attention-based models, and a 360-degree visualiser, Metabob is able to detect the root causes of problems other tools often miss or would not find. With Metabob, developers can detect problems that arise from improper state management within an application, detect partial or incomplete refactors and mismatches in internal APIs, identify missing parameters or unhandled exceptions when dealing with certain common libraries and frameworks, as well as many other related issues.

With Metabob, developers will no longer have to spend hours trying to locate complex bugs. Its machine-learning- powered tool automatically detects areas where bugs may hide and pinpoints them without user input. In addition, the 360-degree visualiser instantly visualises a code’s connections across modules and files to help developers gain a deeper understanding of how their codebase works and where bugs are. Simply put, Metabob makes the time it takes to correct code immensely less invasive and minimises the lag in the development process.

Metabob’s tech is not your average software tool. The platform relies on four key processes — pushing source code, code decomposition, meta analysis, and then identifying the problem areas throughout a given codebase. Within these four sections are the three key ways they deliver a unique user experience:

Topic modelling: Metabob gathers data from open-source repositories from over 15 million code changes. It then labels this data to determine the logic behind any given change. Its topic generation function then allows it to sort the various topics or purposes for a given change into a category that logically correlates to its topic.

AI model: Metabob identifies context-dependent bugs within static code, and then offers a plain-text reasoning behind the bug’s existence. This generates code snippets that correspond to the bugs detected that need to be fixed.

Organisational aids: Contextual issue tracking simply brings more insight into the bug tracking process. The architecture overview displays the structure as well as dependencies within the user’s codebase, and code auditing allows users to track decision making while working through a given repository, allowing for a more reliable development process.

While the effort to develop the tool began in 2019, it was only in 2020 that Metabob officially launched as a company. Today, we have a team of 14+ developers and business development professionals collaborating full-time. We continue to work closely with the development community, as feedback is vital to keeping the product relevant to the evolving nature of bugs and code errors. Seeking repository analysis everyday, the developer community is our strongest ally in the development of Metabob. Today, over 2,000 developers from Github and Bitbucket are using Metabob, including developers from some of the world’s leading tech companies – Google, Microsoft, NetApp, Facebook, Red Hat, among others.

In the last two months, we have doubled the repositories analysed from 60,000 to over 130,000 and our goal is to analyse over one million repositories in the next six months. We are also working towards extending Metabob’s capabilities to support Java, as well as releasing our own recommendation system, capable of providing substantive fixes that function within a codebase’s existing application architecture. As we continue to work towards solving one of the most fundamental problems for developers, our selection into the NetApp accelerator has been a force multiplier.

Having NetApp’s support, we now have access to a diverse set of companies and partnerships that reach far and wide into the deep-tech ecosystem, driving growth in ways we were not previously able to achieve. We are also exploring synergies with NetApp’s existing offerings for managing the continuous delivery and/or continuous deployment (CI/CD) pipeline by enabling developers to dramatically cut down on overhead while increasing the speed at which applications can be developed. In the months to come, we look forward to making Metabob the go-to tool for developers across the world.

Blog Source: Yourstory