Metabob's AI is trained on millions of bug fixes performed by experienced developers. The ability to understand code logic and context, and analyze the data flow through the existing codebase architecture, enables Metabob to detect unique problems in your codebase.
Metabob's AI code review detects hundreds of logical problems, varying from race conditions to unhandled edge cases.
Analyze large legacy codebases automatically to receive feedback of problematic code sections across the project.
Metabob understands the behavior of your code and focuses on detecting errors that are likely to occur in runtime.
Example runtime errors detected:
- Race conditions
- Memory leaks
- Unhandled edge cases
- Performance bottlenecks
- Resource management issues
... and more
Debug faster by automatically generated code fix recommendations and enforce code quality and best practices with Metabob’s refactoring recommendations.
Debugging
Metabob’s ability to analyze complete code bases allows it to generate context-sensitive code recommendations for found bugs and code smells.
Refactoring
Metabob enforces code quality and best practices by offering refactoring recommendations for areas with messy and ineffective code, ultimately reducing the creation of technical debt and optimizing LOC performance.
Metabob is an ensemble AI system for classifying, identifying and explaining non-deterministic faults within source code. BERTopic based topic modeling is used to build seed data sets. For doing so, the underlying reasons behind particular classes of code changes are collected, extracted from the surrounding documentation behind each code change.
This allows to conduct supervised training of a classifier using an extended version of the Abstract Syntax Tree (AST). This is parsed from the source code and used as the input vectors to a GNN. The fault class, as determined by BERTopic, is used as the output class per node in the GNN.
Metabob then generates explanations and code suggestions for fixes via a language model. These are built on a context vector from the topic labels, the source code, and portions of the online documentation, docstrings, headers, and other non-local information (readme’s, etc.). This results in simple explanations of the underlying issue behind a particular code change.