RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2
2024/11/20 13:02:14

How AI helps to write software. Overview of one of the most promising technologies of the future

Artificial intelligence (AI) helps optimize and speed up the process of software design, development and implementation (software). The bottom line is not that development engineers are replaced by robots. Rather, AI-based tools work as assistant project managers, business analysts, programmers and test engineers. By doing this, developers can create and test parts of code faster and at a lower cost. Thus, AI can be an important factor that will lead to increased programmer performance and improved product quality. At the request of TAdviser , Svetlana Vronskaya, the host of the Analytics Now Telegram channel, has prepared an overview of the key AI capabilities for software developers.

Content

Terminology

AI-augmented Software Engineering - on the list of the most promising technologies of the future

AI-augmented software Software Engineering is a term that was introduced Gartner in 2020 to describe the process of using technologies (artificial intelligence for example, machine learning natural language processing, etc.) to speed up application development cycles and. DevOps A number of vendors have already released products for this type of work. Among them are Codota, Deep Code,, Kite Google,,, Mendix Microsoft OutSystems,. Parasoft

File:Aquote1.png
by 2022, at least 40% of new software development projects will use the resource of virtual AI developers.
File:Aquote2.png

However, artificial intelligence and machine learning technologies have been used by software companies and departments around the world for about five years. In 2020, Gartner first included this concept in the list of the most promising technologies of the future - Hype Cycle for Emerging Technologies (technology maturity cycle).

Areas of application of artificial intelligence in software development

AI is used in the development of software solutions at the following stages:

Collection of technical requirements

Digital assistants analyze documents with collected requirements, indicate disagreements in the text, inconsistencies in numbers, units of measurement, amounts and offer possible solutions.

Rapid prototyping

Converting business requirements to code typically takes months or even years. However, machine learning greatly reduces this process, allowing those with less experience to use natural language or visual interface development techniques to create a prototype.

Coding

In the process of writing code, an AI-based autocomplete system offers recommendations for completing lines of code. Intelligent assistants reduce code creation time by 50%. In addition, they can recommend referring to related documents, best practices and giving code examples.

Error Analysis and Handling

The virtual assistant can learn from past experience to identify typical errors and automatically flag them during the development phase. Machine learning can be used to analyze system logs to quickly and even proactively detect errors.

Automatic code refactoring

Pure code is required for collaboration and long-term maintenance. As the company develops, software solutions can change, and the question of how to modify the code for better application performance arises. Machine learning is used in this case to analyze the code and automatically optimize the code for easy interpretability and performance.

Testing

Automated testing systems use AI not only to start the testing process, but also to create test cases.

Commissioning

Sometimes errors in the program code become explicit only after the software is put into operation. But AI tools prevent such situations by checking the statistics of previous releases and application logs.

Project Management

Software development sometimes goes beyond budget and schedule. Advanced analytics systems make it possible to use data from a large number of software development projects to predict technical tasks, the necessary resources and time for the project. Machine learning can extract data from past projects, such as user histories, feature definitions, estimates, and actual conditions, to more accurately predict workloads and budgets.

Development of AI-based tools for software development

According to a 2020 study by Deloitte, there is a great interest in the market in solutions that use artificial intelligence tools in the field of software development:

  • In recent years, dozens of products have appeared on the market that use AI to improve the efficiency of software solution development.
  • The volume of annual investments attracted startups that offer AI products for software development amounted to $704 million USA by September 2019.
  • The global custom software development market is projected to grow to US $61 billion by 2023.
  • Driven by growing software demand, the number of development engineers will grow by 21% in 2028.

Market Experts Opinion

Andrei Karpathy, director of Artificial Intelligence at Tesla, [1] pointed out in a 2017 article that the time is coming for new software - Software 2.0. It will be an order of magnitude more complicated than existing developments and will be helped to develop machine learning and neural networks.

Machine learning models find important functions and patterns in data, he believes, and areas that benefit most from 2.0 software include computer vision, speech recognition, machine translation, games, robotics and databases.

A recent analysis by Forrester Research indicates that the custom development market ON has grown to 1.25 trillion, and the dollars USA University of Cambridge adds that 50% of the work is spent on code compilation and bug correction. With the help of artificial intelligence, this part of the work can be significantly reduced.

Artificial Intelligence in Mobile App Development

In the field of mobile development, AI provides developers with new opportunities. First of all, this is due to the fact that the use of AI helps to attract more users to use the application.

AI tools automatically execute certain algorithms to ensure that more users start using this application. For example, AI can track the patterns and preferences of its users, predict their future decisions and choices, and work accordingly. This gives developers the ability to make changes to new versions of applications very quickly.

The growing popularity of smart devices has spurred the growing use of artificial intelligence in the development of operating systems and user interfaces. And the need for the availability of mobile applications that create a personalized user experience is growing day by day. Artificial intelligence acts as a personal virtual assistant, the application can record a large number of user actions.

Thus, artificial intelligence becomes a valuable source of feedback for developers who can implement the identified needs of users in a short time.

AI Software Development Tools

A growing number of AI-based tools support software development processes. Some of these solutions are available for free. Leading technology vendors use such tools and offer them to their customers in the form of additional products (plug-in).

Facebook uses a recommendation service to fix bugs and improve code. Recent IBM Mono2Micro and Application Modernization Accelerator (AMA) projects provide application architects with the tools to update legacy applications and reuse them. And Microsoft in 2021 announced that it is integrating artificial intelligence technologies with its Power Fx programming language, which is used in the development of applications on the platform. Power Platform This will allow the company's customers to create programs almost without the need to write code.

B Russia actively uses AI to create software products. In Sber July 2021, Sber AI registered Rospatent in a program that allows artificial intelligence to recognize and analyze objects in, virtual reality follows from the department's materials.

According to a Forrester survey, 37% of respondents acknowledged that they use AI for a more efficient testing and development process.

File:Ии для по.png

Tools for developing and testing software based on artificial intelligence. Source: Forrester Research, 2021

However, there is another side to AI products for development. ON Teams that use tools to improve code may experience a drop in productivity first, as AI products require skills and the ability to handle them. Only after deep immersion, they are able to issue accurate recommendations for optimizing software development.

2024

A special laptop has been released for a programmer who writes and checks the code

At the end of November 2024, Mechanical Revolution announced the Code AI laptop, designed specifically for programmers. The laptop includes an artificial intelligence assistant designed to automatically write code. Read more here

20% of Russian IT companies use generative AI in software development

According to the Russoft association, about 20% of domestic software developers in 2024 use generative artificial intelligence when creating software. This indicator demonstrates steady growth from 7.9% in 2022 and 15% in 2023, which became known on November 20, 2024.

According to Kommersant, the growth in the use of AI occurs against the background of a shortage of personnel in the industry, which can reach 1 million people in 2024. The average wage in the sector increased by 12.5%, reaching ₽123 thousand.

20% of Russian IT companies use generative AI in software development

President of Russoft Valentin Makarov notes that artificial intelligence has reached a level that allows you to technically replace entry-level developers. This becomes economically feasible for small companies due to the low qualifications of novice specialists and the general growth of salaries.

Technical Director of RTK IT Kirill Pikhtovnikov emphasizes that development using AI and automation of processes has become a priority area for investments by Russian IT companies. Rostelecom is introducing similar technologies to optimize routine operations.

At the same time, in Russia, the demand for platforms with ready-made tools for creating IT projects increased by 40%. According to the agencies Smart Ranking and Nocodecircle, the volume of this market by the end of 2024 could reach ₽3,5 billion.

Softlogic CEO Denis Loginov points to potential risks when using AI in development. If the tasks are complicated, problems may arise with the interpretation of their neural networks, which will affect the integration and security of the final code.

The Ministry of Digital Development of Russia considers the trend towards the use of AI as a natural stage in optimizing and introducing new technologies, without directly linking it with the personnel deficit of the industry.[1]

More than a quarter of Google code writes artificial intelligence

Google is actively developing artificial intelligence technologies, forming a comprehensive infrastructure that covers a variety of areas - from data centers and hardware solutions to search optimization and automatic code generation. Google CEO Sundar Pichai spoke about the achievements in the relevant area on October 29, 2024. Read more here.

MTS launched a neural network to generate the Kodify program code

On October 22, 2024, it became known that MTS AI presented a publicly available version of the Kodify neural network service for automatic program code generation. The service allows developers to create and test code fragments using artificial intelligence technologies for auto completion. Go in detail.

Yandex launched a service for generating software code Yandex Code Assistant

On September 12, 2024, Yandex announced the launch of a new Yandex Code Assistant service designed to automatically generate program code based on artificial intelligence. The service, designed to simplify the work of programmers, is already available in test mode on the Yandex Cloud platform. Yandex Code Assistant is expected to be part of a broader platform designed to build, deploy and accompany digital products. Read more here

Google launched a free AI tool for writing code

On April 9, 2024, Google introduced the free artificial intelligence-based Gemini Code Assist tool, designed to help write code. This system has received Automatic Row Completion. Read more here.

Launched an open neural network that writes program code on voice commands

On March 12, 2024, startup Cognition Labs announced Devin, a specialized neural network capable of independently performing complex software development tasks. It is claimed to be the industry's first software engineer with artificial intelligence tools. Read more here.

2023

The volume of the global market for generative AI for software development for the year grew to $2.1 billion

In 2023, costs in the global generative artificial intelligence (GENI) market for software development reached $2.1 billion. This is almost a third more compared to 2022, when expenses were estimated at $1.6 billion. Such data are given in the Market Research Future study, the results of which were published in early December 2024. Read more here.

10% of software developers in the world use AI programming assistants

As of 2023, approximately 10% of software developers globally use various artificial intelligence programming assistants. And approximately 63% of organizations in the world test or implement AI code creation tools. This is stated in a study by Gartner, the results of which were published on April 11, 2024. Read more here.

Notes