Skip to main content

Core Features

DeputyDev is packed with several powerful functionalities to enhance your development workflow.

PR Summaries

DeputyDev generates holistic PR summaries to help all stakeholders gain a clear understanding of the changes made in a pull request. This feature operates by default and integrates several key elements:

  • Diff Analysis: Evaluates the differences between the new and previous versions of the code to highlight what has been added, modified, or removed.

  • User Story Integration: Includes the user story associated with the PR to provide context on the expected outcomes and objectives of the changes.

  • Relevant Code Chunks: Fetches relevant code snippets from the repository to offer additional context, even without access to the entire codebase. This is facilitated by our advanced RAG-based logical code chunking algorithm.

By combining these elements, DeputyDev ensures that PR summaries are comprehensive and insightful, enabling all stakeholders to quickly understand the impact and intent of the changes. This reduces the need for back-and-forth communication and streamlines the review process, making it more efficient and effective.

Usage Instructions:

  1. Initiate a PR Summary: Simply create a pull request as usual. DeputyDev will automatically generate the summary.

  2. Review the Summary: Access the detailed PR summary, which will include the diff, user story, and relevant code chunks.

  3. Provide Feedback: Use the insights from the summary to provide informed feedback or approve the changes.

By offering such detailed and context-rich summaries, DeputyDev not only improves the quality of code reviews but also enhances collaboration among team members.

prreview

Context-Aware Developer Queries

DeputyDev enables interactive conversations regarding the codebase, changes it suggests, and the pull request itself. This feature enables you to gain deeper insights and clarifications directly from DeputyDev, enhancing the overall code review process. This feature not only saves time but also ensures that you have access to the information you need to make informed decisions, ultimately leading to better code quality and more efficient development processes.

How to Make Queries:

  • Initiating a Query: Simply use the #deputydev tag followed by your question or statement.

  • Examples:

    • #deputydev - What are the potential impacts of the changes in this PR?

    • #deputydev - Explain the logic behind the new authentication method

    • #deputydev - Can any existing components be reused in the implementation of this feature?

    • #deputydev - Upadate the documentation with recent code changes

    • #deputydev - Are there any security vulnerabilities introduced by this PR? How can the identified vulnerabilities be mitigated?

How DeputyDev Acquires Context:

DeputyDev employs advanced algorithms and AI models to acquire context and provide meaningful responses:

  • Codebase Analysis: It analyses the entire codebase by breaking it down into logical chunks, while maintaining the integrity and meaning of the code.

  • Lexical and Semantic Searches: Uses lexical and semantic searches to gather relevant information and context from the codebase.

  • User Story Integration: Incorporates user stories associated with the PR to understand the objectives and expected outcomes of the changes.

  • Diff and Historical Data: Evaluates the differences between current and previous versions of the code and uses historical data to understand the evolution of the codebase.

By combining these techniques, DeputyDev can provide contextually rich and relevant answers to developer queries, making it a powerful tool for enhancing code understanding and collaboration.

prreview2

Business Logic Alignment

DeputyDev verifies that your code changes align with predefined business logic and organisational standards by integrating user stories, analysing contextual code snippets, and applying rule-based validations. This ensures that the code not only meets technical specifications but also adheres to business objectives.

Integration with Confluence:

  • DeputyDev seamlessly integrates with Confluence, enhancing the context available during code reviews.

  • This integration enables linking user stories, business requirements, and documentation directly from Confluence to your code reviews. This allows for a more thorough understanding of business requirements directly within the review process.

By leveraging these integrations and validation processes, DeputyDev ensures that your code aligns with both technical and business objectives, streamlining the development process and enhancing code quality.

prreview3 prreview4

Vulnerability Checks

DeputyDev performs comprehensive vulnerability checks to identify and mitigate security risks within your codebase. By integrating advanced analysis tools and methodologies, it ensures that your code adheres to the highest security standards, helping to prevent potential breaches and vulnerabilities.

Some of the vulnerabilities detected include:

  • SQL Injection:

Detects code patterns that could allow the execution of arbitrary SQL queries by identifying unsanitised user input.

  • Cross-Site Scripting (XSS):

Identifies vulnerabilities that could enable attackers to inject scripts into web applications by detecting improper handling of user-generated content in HTML.

  • Insecure Deserialisation:

Flags instances where deserialised data can be tampered with by identifying insecure methods that do not validate input.

  • Improper Authentication and Authorisation:

Ensures that authentication and authorisation mechanisms are robust and correctly implemented by detecting hardcoding or improper access control checks.

  • Sensitive Data Exposure:

Identifies places where sensitive data is improperly stored or transmitted and monitors compliance with privacy standards

Interpreting and Addressing Security Warnings:

  • Relevant code snippets are provided to pinpoint where the vulnerability exists. Furthermore, DeputyDev provides clear, concise explanations help you understand why the code is vulnerable and how it can be exploited.

  • DeputyDev offers actionable recommendations to fix the vulnerabilities. This includes code snippets showing secure alternatives or best practices. For more complex issues, you can ask it to provide links to detailed documentation and resources to guide you through the remediation process.

  • After applying the suggested fixes, you can re-scan the code to ensure that the vulnerabilities have been effectively addressed. DeputyDev continuously monitors the codebase for new vulnerabilities, ensuring ongoing security compliance.

Resource Optimisation

DeputyDev helps ensure that your code is optimised for performance and system stability by providing recommendations tailored to best practices in software development. This includes focusing on code optimisation techniques that can translate to significant performance boosts.

Examples of Optimisations:

  • Efficient Caching Mechanisms:

Suggests optimised caching strategies to improve data retrieval speeds and reduce memory usage.

  • Database Operations:

Recommends best practices for database queries and connection management, such as indexing and efficient connection pooling.

  • Parallel Task Execution & Exception Handling:

Ensures robust exception handling mechanisms to minimise system downtime and enhance reliability.

  • Design Patterns:

Provides feedback on the use of design patterns and overall software architecture.

  • Extensibility:

Assesses the extensibility of the codebase and its components to facilitate future updates and scalability.

  • Time & Space Complexity:

Evaluates the time and space complexity of algorithms and suggests optimisations.

  • Memory Usage & CPU Utilisation:

Comments on memory allocation and provides feedback on CPU-intensive operations to optimise performance.

  • Query Optimisation:

Evaluates the efficiency of database queries and suggests optimisations such as indexing and query refactoring.

By integrating various resource optimisation strategies, DeputyDev ensures that your services are not only efficient but also stable and reliable, leading to significant performance improvements and better system management.

Code Quality

DeputyDev employs a comprehensive set of parameters to evaluate code quality, ensuring that the code is robust, adheres to best practices, and is maintainable. The evaluation focuses on several key aspects:

  • Code Robustness: Checks for proper error handling, boundary conditions, and efficient resource management.

  • Functionality: Identifies possible logical errors that could affect functionality and unaccounted edge cases.

  • Adherence to Best Practices: Ensures compliance with coding standards, use of design patterns, and code style and readability.

  • Maintainability: Assesses modularity, documentation quality, and test coverage while also identifying and highlighting areas of technical debt.

prreview5 prreview6