OnePix, IT project manager & Digital product strategist, Russia, Saint Petersburg
USING ARTIFICIAL INTELLIGENCE TO OPTIMISE THE WEB-BASED SOFTWARE DEVELOPMENT PROCESS
ABSTRACT
Nowadays, with the growing popularity of artificial intelligence, machine learning, and neural network technologies, the issue of integrating these advanced innovations into the software development process becomes relevant. With this in mind, the article is devoted to the study of opportunities to optimize the process of web software development using artificial intelligence tools. Special attention is paid to the benefits and effects of introducing these technologies into the software development cycle, in particular, the emphasis is made on saving time, reducing costs, and reducing the number of human errors. Using concrete examples, the possibilities of artificial intelligence to optimize code writing and testing finished software products are considered.
АННОТАЦИЯ
В настоящее время, с ростом популярности технологий искусственного интеллекта, машинного обучения и нейронных сетей, актуальным становится вопрос интеграции этих передовых инноваций в процесс разработки программного обеспечения. С учетом отмеченного, статья посвящена изучению возможностей оптимизации процесса разработки веб-программ с использованием инструментов искусственного интеллекта. Отдельное внимание уделено выгодам и эффектам внедрения этих технологий в цикл разработки программ, в частности, акцент сделан на экономии времени, сокращении расходов, снижении количества человеческих ошибок. На конкретных примерах рассмотрены возможности искусственного интеллекта оптимизировать написание кода и проведения тестирования готовых программных продуктов.
Keywords: software, development, code, testing, bugs, artificial intelligence.
Ключевые слова: программное обеспечение, разработка, код, тестирование, ошибки, искусственный интеллект.
Introduction.
The rapid development of the software development industry over the last few years has led to a significant increase in competition in the market of IT products and services. As a result of the fact that the number of companies that are ready to provide a quality and professional team at the customer's request, or vice versa - a team of professionals with quality and interesting projects, has significantly increased, the problem of ensuring high quality of software products and services arises.
In the dynamic field of software (software) development, artificial intelligence (AI) is changing workflows and increasing productivity. Tools such as Rewind.ai and Mutable.ai automate documentation creation, while Figstack translates code into human language, making it easier to understand. The emergence of AI tools opens up new possibilities for its application to both intelligent and routine tasks, and possibly to improve business processes in software development. For example, several models used by developers have shown the ability to translate natural language instructions into program code. Other tools allow AI to be used to automatically create test scenarios [1].
Experts note that software development technologies gaining momentum with AI support have a chance to automate up to 65% of the work that is currently performed manually by software engineers.
In general, the relevance of this trend is demonstrated by the dynamics of the software development market using various AI technologies, which shows very dynamic growth. For instance, it was valued at $2.17 billion in 2023 and reached $3.18 billion in 2024, with a compound annual growth rate of 46.4%. According to expert forecasts, this upward trend is expected to continue at least until 2028, when the market capacity will be USD 4.68 billion, with an average annual growth rate of 46.6% [2] (see Figure 1).
The main market growth drivers include increased investments in AI technologies, widespread adoption of cloud services, and active digital transformation across various industries, driven by intense market competition.
/Beliakov.files/image001.png)
Figure 1. The growth rate of the AI-enabled software market [2]
The market growth drivers include increasing investments in AI technologies, intensive adoption and proliferation of cloud services, widespread focus on digital transformation by various industries and domains, and high competition in the market.
At the same time, it should be noted that the adoption of AI in programming entails both significant benefits and significant challenges. The main one is the necessity to maintain a balance between automation and preserving human control. Of course, automated code writing and optimization capabilities can significantly reduce development time, but at the same time there are parallel issues of security, trust in machine decisions, and ethics.
Thus, therefore, the realization of AI possibilities, its role and place in software development, and the determination of directions and models of effective application of AI tools is an actual problem that predetermined the choice of the topic of this article.
Materials and Methods
Possible scenarios of interaction between people, AI tools, and software development processes are considered in their works by Penshina D.S., Svishchev A.V., Zavadsky E.V., Bulat A.V., Sima Das, Ajay Kumar Balmiki, Nimay Chandra Giri.
The peculiarities of using AI technologies to develop and implement specialized patterns that allow achieving better understanding and use of code context are studied by D.V. Gryzlov, E.N. Kuvaeva, E.M. Lebezova, I.V. Ovsyannikov, Doris Padmini Selvaratnam, K.P. Jaheer Mukhtar, Evi Gravitiani, Wen Meiting.
I.V. Ermakov, I.A. Sereda, I.A. Sereda, and I.A. Sereda are working on the development of AI technologies that will increase the efficiency of functional, imperative, logical, and object-oriented programming for such programming languages as Prolog, Haskell, Python, Java, JavaScript, C#, and F#, Sereda I.A., Abramov A.L., Pugach P.A., Tynchenko V.S., Tugba Gurgen Erdogan, Haluk Altunel, Ayça Kolukısa Tarhan, Sadi Elasan, Osman Yilmaz.
Despite the wide range of publications, which reveal various aspects of the subject area under study, a number of issues require additional attention and deeper elaboration. For example, the issues of error reduction in the process of using language models for code generation and its optimization are unsolved. The problems of AI tools and their inability to cope with the generation of code with complex logic, limited knowledge of programming languages, mathematical modeling, and problems with the processing of quantitative values (for example, in different measurement units) deserve separate attention.
Thus, the aim of the paper is to examine the possibilities of using AI to optimize the web software development process.
Results and discussions
Artificial intelligence has opened wide prospects and great potential in the sphere of software engineering, bringing more and more new and advanced techniques into the process of software development, testing, and optimization It enables automation and optimization of various stages of software code creation, including error detection, algorithm selection, and architecture construction [3].
Figure 2 clearly demonstrates this potential. The diagram reflects where software development efforts are typically spent today and where AI technologies have the potential to optimize, improve, and increase the efficiency of operations.
/Beliakov.files/image002.png)
Figure 2. The potential of using AI in the software development process throughout the entire life cycle [3]
Let's look at a few practical examples of using AI in the software development process.
Code writing
This stage includes the creation of functional modules or software components such as:
- modules, classes, functions, or complete software components;
- configuration files (e.g., for setting up the infrastructure or environment).
In addition to widely used generative AI tools like Google* Bard and ChatGPT, tools such as GitHub Copilot (developed by Microsoft/OpenAI) have shown significant effectiveness in real-time code suggestion and automated generation of functional software components. This tool is available as a plugin for code editors such as Visual Studio Code, and it can also generate code suggestions as you type. Ollama software can be mentioned as another useful tool. It allows you to install and run various open-source models on your computer, such as WizardCoder and Code Llama. The main advantage of these tools is that they can be particularly useful when the task is to create code that should not be published.
Let's list the tasks that can be effectively accomplished by using AI during code development.
1. Working with web frameworks. It often happens that even those frameworks that are well-documented are quite difficult to navigate. In this case, ChatGPT can be useful, which perfectly copes with the task of changing code based on common web frameworks (such as Django). It is able to tell you which parts of the code need editing and which language should be used to get the best effect.
2. Incremental code modifications. With the ability to combine generative AI with version control tools such as Git, a developer is able to incrementally change code, ensuring that there is a retained understanding of how it has changed. A tool like GitHub Copilot allows for the automatic labeling of commit messages used to mark code changes.
3. Writing basic scripts and queries. Generative AI tools are excellent for solving this task. They are very effective when it is necessary to briefly describe the code logic, but the developer does not know the exact syntax of the programming language. For example, a database query can be executed several times faster if it is translated into SQL from English.
4. Syntax improvement and language simplification. This feature is especially useful when a developer is using a new language. Or when minor errors occur, such as misplaced semicolons and missing brackets. Various AI tools are able to offer syntax corrections online.
5. Compatibility and seamless integration. Programmers often face compatibility issues when APIs or components need to be integrated into a project. Thanks to AI, compatible libraries and APIs can be found, which will greatly simplify the integration process.
Software Testing
AI techniques can support the software testing process in a variety of ways. Typical tasks performed in the testing process are user interface (UI) testing and application program interface (API) testing. The peculiarity of such checks in manual testing is that most of them are performed based on information about the business logic of the system [4].
AI can also be applied as an adaptive method for detecting changes at the element level, a means of predicting incorrect test cases and providing recommendations on how to solve these problems. Of particular note is its ability as a behavioral model-building tool, to simulate user behavior when using a system by geography, device, and demographics. In addition, AI techniques are used for automation test maintenance, test data generation, early feedback during testing, etc.
AI has become significantly beneficial in software unit testing, greatly enhancing test accuracy and development efficiency. The role of automated unit testing is incomparably greater in maintaining code reliability and integrity. AI is already helping developers to write such tests, freeing them to focus on more important tasks. As an example, the AI-powered Diffblue Cover platform automatically writes unit tests for Java code. Diffblue applies reinforcement learning algorithms in order to conduct analyses of the codebase. Based on the results, human-readable, executable tests are developed that include a wide range of scenarios [5].
Fig. 3 schematically summarises the use cases of AI in the software testing process.
/Beliakov.files/image003.png)
Figure 3. Typical examples of AI use in the testing process
Conclusion
Thus, summarizing the research conducted, the following conclusions can be drawn.
AI technologies play a transformational role in modern software development. These tools automate the creation of documentation and translate code into the human language to make it easier to understand, The use of AI tools in code generation, testing, algorithm optimization, and cybersecurity opens new horizons for innovation.
However, there remain important issues that require further research, including: improving the accuracy and reliability of AI tools (improving models to reduce errors in generated code; ethical and copyright issues (exploring the possibility of creating regulations on the use of AI in programming); integrating AI into different programming languages (optimizing models to work with a wide range of technologies); autonomous AI developers (exploring the prospects and limitations of fully autonomous AI systems capable of independently performing complex software engineering tasks).
To summarize, if the use of AI is to be successful and safe, careful planning, analysis, and risk minimization are required. The main thing is to find a balance between automation and the human factor.
References:
- Butikova T., Ivanov N. Rol' iskusstvennogo intellekta v razrabotke programmnogo obespechenija // Informacionnye resursy Rossii. – 2023. – № 6 – (195). S. 52-65.
- Pen'shina D.S., Svishhjov A.V. Instrumenty na baze iskusstvennogo intellekta dlja napisanija programmnogo koda // Moja professional'naja kar'era. – 2022. – T. 2. – № 43. – S. 325-331.
- Chuvashov V.A. Metody sinteza programmnogo koda s ispol'zovaniem iskusstvennogo intellekta // Politehnicheskij molodezhnyj zhurnal. – 2024. – № 5 (94).
- Gryzlov D.V., Kuvaeva E.N. Ispol'zovanie iskusstvennogo intellekta v programmirovanii // Nauchnyj aspekt. – 2024. – T. 17. – № 8. – S. 2121-2127.
- Myradov P.S. Primenenie iskusstvennogo intellekta v optimizacii programmnogo obespechenija // Matrica nauchnogo poznanija. – 2024. – № 12-1. – S. 87-90.
*По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. ред.