THE FUTURE OF PROGRAMMING: HOW ARTIFICIAL INTELLIGENCE IS TRANSFORMING SOFTWARE DEVELOPMENT
DOI:
https://doi.org/10.32689/maup.it.2024.4.7Keywords:
artificial intelligence, natural language processing, machine learning, software development, automatic code generationAbstract
Abstract. Purpose of the work: To investigate the impact of artificial intelligence (AI) on software development processes, to identify the main areas of change caused by the integration of AI into programming, and to assess the prospects for using AI to optimize and automate development processes. Methodology. Programming has long been a cornerstone of the modern world, shaping the development of technology, business, and society. However, with the advent of artificial intelligence (AI), this industry is undergoing revolutionary changes. AI not only makes developers’ work easier by automating routine tasks, but also opens up new horizons for creativity and innovation. From code generation to predicting system behavior, AI-based tools are changing the very essence of programming. Thanks to technologies such as GitHub Copilot, TabNine, and ChatGPT, developers have the opportunity to work faster, better, and more efficiently. AI is already helping to detect errors, improve code, and even create new software solutions. But how will these changes affect the future of the profession? Will there be room for human creativity? And what challenges do programmers face in the face of the rapid development of AI? This article explores how artificial intelligence is transforming the software development process, what benefits it offers, and what risks it will face in the future. Scientific novelty. For the first time, the main approaches to the application of AI in software development, such as coding automation, error detection, program performance optimization and the creation of generative design models, are systematized. An analysis of the impact of generative language models (GPT, Codex, etc.) on simplifying development and changing the role of programmers is presented. A new view of the future cooperation between developers and AI is proposed as an «interactive symbiotic system», where both participants complement each other's strengths. Conclusion. Artificial intelligence is already changing the programming paradigm, reducing development time, reducing the number of errors and increasing team productivity. In the future, the role of developers will transform from writing code to a more strategic and analytical activity aimed at solving complex problems that require a creative approach and critical thinking. Programming is becoming more accessible to a wide range of people, opening up new opportunities for innovation in various industries. This article explores how artificial intelligence is transforming the software development process, what benefits it offers, and what risks it will face in the future.
References
Ahmad W., Chakraborty S., Ray B., Chang K. W. Unified Pre-training for Program Understanding and Generation. Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies, 2021. 2655–2668. https://doi.org/10.18653/v1/2021.naacl-main.210
Chen H., Li Z. "Data Quality in Machine Learning: Challenges and Methods for Error Detection." International Journal of Data Science and Analytics, 2020. 9(2), 121–137.
Chen M., Tworek J., Jun H., Yuan Q., de Oliveira Pinto H. P., Kaplan J., Schulman J. Evaluating Large Language Models Trained on Code. arXiv preprint arXiv:2107.03374. 2021.
Davis K., Lee R. Fine-tuning models: Techniques and challenges in AI error correction. International Journal of AI and Software Engineering, 2020. 12(2), 101–115.
Feng Y., Guo D., Tang D., Duan N., Wei Z., Zhou M., Yin J. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2020. 1536–1547. https://doi.org/10.18653/v1/2020.emnlp-main.154
Jiang Z., Sun D. "Sensitivity Analysis in AI Models: Evaluating the Impact of Parameter Changes." Artificial Intelligence Review, 2020. 53(3), 159–179.
Kumar R., Singh P. "Enhancing Software Quality with AI-Based Data Analytics." Software Engineering Review, 2020. 8(1), 45–59. https://doi.org/10.1109/ser.2020.015007.
Li C., Li H., Sun J. Deep Learning for Automatic Code Generation and Completion: A Survey. ACM Computing Surveys (CSUR), 2021. 54(6), 1–29. https://doi.org/10.1145/3469023.
Li Z., Chen L. "AI-Powered Tools for Code Generation and Testing Automation." International Journal of Computer Science and Information Technology, 2020. 12(2), 187–202. https://doi.org/10.1093/ijcsit/ijcsit.2020.012030.
Liu Z., Zhang C., Wang Z. "Logical Testing of Machine Learning Models: A Comprehensive Review." Journal of Machine Learning Research, 2021. 22(4), 153–172.
Smith J., Brown A. Adaptive learning techniques for error correction in AI systems. Journal of Machine Learning and Artificial Intelligence, 2020. 18(4), 234–249.
Tiwari S., Chaturvedi A., Mishra R. Artificial Intelligence in Software Engineering: Benefits, Challenges, and Future Prospects. International Journal of Advanced Research in Computer Science, 2021. 12(2), 45–51. https://doi.org/10.26483/ijarcs.v12i2.
Vaithilingam P., Chen J., Alvarado C. Expectations vs. Reality: How Software Developers Use Generative AI Tools for Code. Proceedings of the 2022 ACM CHI Conference on Human Factors in Computing Systems, 2022. 1–15. https://doi.org/10.1145/3491102.3517489.
Wang Y., Xu L. "Overfitting in Machine Learning Models: Approaches to Detection and Mitigation." Journal of Artificial Intelligence Research, 2022. 68(1), 45–63.
Zaremba W., Sutskever I. Recurrent Neural Network Models for Code Generation. Advances in Neural Information Processing Systems (NeurIPS), 2020. 201–213.
Zhang Y., Wang X. "Artificial Intelligence and Its Impact on Software Development." Journal of Software Engineering and Applications, 2020. 13(4), 233–245. https://doi.org/10.4236/jsea.2020.134014.