MULTIDIMENSIONAL APPROACH TO SOFTWARE DEVELOPMENT PROBLEMS - HRYHORIEVA, TETYANA; RUSU, OLEKSANDR; GORBACHEV, VICTOR; KROKHMAL, MAKSYM (Herald of Khmelnytskyi National University. Technical sciences, 2025)
The effectiveness and feasibility of using a multidimensional tensor approach in software development tasks are investigated. Within the framework of the multidimensional approach, the potential of tensor methods for modeling complex multidimensional dependencies characteristic of software of modern IT systems is analyzed. Traditional models based on the use of scalar, vector and matrix representations allow to effectively solve a wide range of tasks, such as algorithm analysis, testing, profiling and verification of program code. However, when it comes to multidimensional dependencies, such as simultaneous interaction between users, program modules, execution time and configuration parameters, matrix models become limited. They are unable to represent the complex structure of the system, which leads to the loss of information about the multidimensional interaction of product elements, reduces the accuracy of forecasting and complicates the detection of hidden patterns. It is substantiated that the use of tensor representations of complex interactions allows the development process to preserve the structure and context not only of the elements of the code itself, but also the relations between a set of parameters of the software product, such as changes, authorship, metrics, test scenarios and program execution time. The applied aspects of using various tensor decompositions (CP, Tucker, Tensor Train) in the tasks of quality assurance, defect detection, testing optimization and software dependency analysis are considered. The prospects for integrating tensor models into CI/CD environments, automated testing systems, technical debt monitoring tools and software architecture analysis are also outlined. Recommendations are formulated for the implementation of multidimensional technologies in software engineering practice as a basis for building self-learning, adaptive and scalable development support systems.