Microsoft AutoDev And How Does it Compare Against Devin

Updated on April 14 2024
image

We all remember the launch of “Devin”, the AI Software engineer from Cognition AI, that does the software engineering tasks without much human intervention. In the same queue of GenAI autonomous software engineering agents, we have another entrant.

Introducing Microsoft AutoDev, a new development using Artificial Intelligence to increase the productivity and completeness of software engineering tasks. This article gets to the root of AutoDev, how it works, how does it compare against Cognition AI’s Devin.

What is Autodev?

AutoDev, backed by Microsoft, is a milestone in the way we view the process of software engineering tasks. Through the use of Large Language Models (LLMs) and Small Language Models (SLMs) that are specially designed for code generating, AutoDev offers developers an opportunity to perform complicated tasks with limited human involvement.

On the other hand, the tool architecture has been carefully set up to facilitate smoothness in the collaboration between AI agents and developers so as to ensure that the software development processes are not only efficient but also easy to use and navigate.

Design Overview

Autodev framework
Autodev framework – Credit: ARXIV

AutoDev’s architecture is organised into four key components: the Conversation Manager, the Tools Library, the Agents Scheduler, and the Evaluation Environment. The Conversation Manager monitors and handles user and agent conversations, keeping the interaction consistent and flowing.

The Tools Library provides a group of code and IDE-oriented tools, which allows agents to accomplish a multitude of tasks, including editing files, looking up valuable data in the codebase, etc.

The Agents Scheduler is responsible for the scheduling of different agents, guaranteeing the tasks are evenly distributed while the Evaluation Environment executes the operations, so that the agents can test their code in a secure environment.

Capabilities of AutoDev

Unlike the typical use of frameworks to merely create code, the AutoDev capabilities go much further as it provides services for other software engineering tasks including test generation, file editing and searching.

It is able to write test cases for the methods related, check their correctness when it comes to execution, and compare the results of test cases generated manually to the results of work that is done autonomously which makes its value both in generation of test cases and work done autonomously strong.

Power of AutoDev could be described as a combination of two factors. Firstly, it reduces the number of instructions that one would have to perform before implementing the given tasks or inference calls as this is usually one of the many that engineers have to transact at the same time.

The establishment of such efficiency allows developers to spare their productivity and reduce the time spent on monotony when performing the same repetitive operations and consequently, the contribution of AutoDev into the development process is noteworthy.

Read More: AI Software Engineer “Devin”

How Does AutoDev Handle Code Generation?

AutoDev makes a noise when it comes to code generation by making extensive use of the versatility of Large Language Models (LLMs) and Small Language Models (SLMs) to give a deep and immersive code.

It enables the development of a language with a variety of requirements, including Java, Kotlin, Javascript/TypeScript, Rust, Python, Golang, C, C++, and Objective-C, and more. Multilingual support makes the tool even more attractive and user-friendly because a developer will be able to work both in the most popular language and in binary code.

For example, developers can use the /write command to instruct AutoDev to generate specific code snippets, as demonstrated in the example provided in the GitHub repository

/write:src/main/java/com/example/Controller.java#L1-L12

This instruction gets AutoDev generated class named Controller to have a method that prints “Hello, World!” on the console by using the method. The flexibility of the prompt system at AutoDev helps developers to configure the generated code to their specific needs thus the tool becomes a formidable tool for rapid development as well as prototyping.

Is Autodev Efficient?

Autodev Efficiency
Autodev Efficiency – Credit: ARXIV

As for AutoDev, the degree of productivity and quality of the coding is primarily brought to the highest point by its high level of efficiency in completing software engineering tasks. Its architecture has been created to emulate the existing development processes, resulting in enhancement productivity levels among the developers.

The structure of AutoDev is tuned for multilingual program code generation and hence many languages can be supported, which renders it a useful tool for programmers.

This tool’s efficacy is notably reflected in its ability to execute projects with fewer and automated steps, hence freeing developers to work on more complex projects while the AutoDev handles the repetitious tasks of software development.

The incorporation of the AutoDev into the IDEs, CI/CD pipelines, and PR review platforms, AutoDev will take a key role in the software development workflow, and will remain irreplaceable asset for the modern engineering practices.

Autodev vs Devin

Let’s look at how Autodev flare against it competitor Devin that released just last week.

FeatureAutoDevDevin AI
FocusAutomates existing development processes and workflows, acting as a productivity booster for developers Targets a more independent problem-solving role, potentially including designing software architecture and core functionalities
CollaborationDesigned to integrate with current development teams, with AI agents supporting human developersMay function more autonomously, potentially needing less direct human oversight than AutoDev
AnalogyLike a skilled construction assistant, AutoDev automates tasks and streamlines the building processLike a talented architect, Devin can design the blueprint and foundation of the software
Developer ExperienceBy automating mundane tasks, AutoDev frees up developers to focus on creative problem-solving and core development activitiesDevin boasts a secure virtual workspace equipped with a code editor, web browser, and its own unique system, empowering it to handle all aspects of development 
Machine Learning ExpertiseAutoDev’s optimization processes, analysing past project data to identify areas for improvementDevin leverages machine learning to automate repetitive tasks, analyse data sets, and continuously improve its coding efficiency
Comparing Autodev and Devin – Autonomous AI Software Engineer

Supported Programming Languages

Support from the AutoDev for the multiple programming languages is a clear commitment to the fundamental approach of the software development. undefined

AutoCRUD: AutoDev has a capability of creating Model-Controller-Service-Repository code for the Spring framework using the Model-View-Controller architecture style thus leading to the ease of building web application.

AutoSQL: It features context-aware SQL generation that helps using less effort and time to develop and administer database queries.

AutoPage (React): For web development, AutoDev is capable of engineering context-sensitive web pages by means of React. Therefore the developer is able to materialise interfaces very swiftly.

AutoArkUI (Mobile UI framework): AutoDev itself can produce HarmonyOS ArkUI code without an engineer’s effort in mobile app development.

AutoTesting: It provides for the development of unit test cases , running them automatically and trying to repair detected problems.

AutoDocument: AutoDev could be configured to auto-generate comment lines and hence allow the codebases to be well documented and accessible to other developers.

Autodev is not only multi-lingual, but also has a wide range of features. Therefore, it is a comprehensive tool for software developers, which offers solutions for various aspects of software engineering from code generation to testing and documentation.

Its incorporation into IDEs, CI/CD pipelines, and PR review platforms greatly promotes its relevance thereby attempting to change all the processes involved in software development work.

Also Explore: Best AI Code assistant Tools – 2024

Also Read: Generative AI Code’s Trends in Software Development in 2024

Conclusion

In conclusion, AutoDev is on track to totally transform every aspect of the software development process as it becomes part of the IDEs, CI/CD pipelines, and PR review platforms. Developers will assign tasks and issues to AutoDev, review the results of the PR system, and treat this as the workflow automation. Those integrations, however, don’t only improve the developer experience but also give the opportunity to automation and optimization processes for software engineering.

While Autodev seems enhanced coplilot for tedious repetitive tasks, we found Devin to be leaning towards being an independent agent that can do software engineering tasks “autonomously”. Devin is certainly more imaginative and futuristic.

About Appscribed

Appscribed is a comprehensive resource for SaaS tools, providing in-depth reviews, insightful comparisons, and feature analysis. It serves as a knowledge hub, offering access to the latest industry blogs and news, thereby empowering businesses to make informed decisions in their digital transformation journey.

Related Articles