Короткий опис(реферат):
The paper proposes an automated method of classification of source code changes, consists of two steps – clustering and comparison of clusters of classes. The currently existing methods of improving component software development are analyzed. Based on the analysis, it was established that the optimal method of increasing the productivity of the analysis of changes is the clustering of these changes. A method is proposed, according to which the distribution of changes by clusters is carried out automatically. Their comparison to classes is carried out by an expert. It is shown that the automation of the distribution of changes by clusters significantly reduces the time of examination of code changes, which makes it possible to use the obtained results to improve the quality of software during the development of complex software complexes. The results obtained in the course of the work provide an idea of possible data clustering algorithms with further analysis of the obtained set of clusters according to their parameters. Also, on the basis of the conducted research, the results of the comparison of the classifications of changes in the software system with open source code, performed using the proposed automated method and manually, are given. It is shown that the task of controlling changes that are undesirable at the current stage of development is solved significantly more effectively using the proposed method
compared to a full examination of changes, as it allows identifying changes of classes prohibited at the current stage of development with less time spent. The application of the method in practice allows to improve the quality of the code due to the increase in the efficiency of the process of its examination. Using the approach proposed in the paper, the examination process under time constraints can be built more efficiently by selecting changes of the most important classes of changes. It has been proven that the method works perfectly if the same type of changes are analyzed, and when the changes combine heterogeneous code modifications, the quality of the automated classification deteriorates. The obtained results make it possible to extend the application of this method to other software complexes and systems, provided that differences in data types and their parameters are taken into account. Запропоновано автоматизований метод класифікацiї змін вихідного коду, що складається з двох кроків – кластеризацiї та зіставлення кластерів класів. Проаналізовано існуючі
на сьогодні методи удосконалення компонентного розроблення програмного забезпечення. На основі аналізу встановлено, що оптимальним методом підвищення продуктивності аналізу змін є їх кластеризація. Запропоновано метод, за яким розподіл змін за кластерами здійснюється автоматично. Зіставлення їх класам виконує експерт. Показано, що автоматизація розподiлу змiн
за кластерами суттєво скорочує час експертизи змін коду, що дає можливість використовувати отримані результати для пiдвищення якостi програмного забезпечення в ходi розроблення складних програмних комплексiв. Результати, отримані в ході виконання роботи, дають уявлення про можливі алгоритми кластеризації даних з подальшим аналізом отриманого набору кластерів за їх
параметрами. Також на основі проведених досліджень наведено результати порівняння класифікацій змін у програмній системі з відкритим вихідним кодом, виконані з використанням запропонованого автоматизованого методу та вручну. Показано, що завдання контролю змін, небажаних на поточній стадії розроблення, вирішується суттєво ефективніше за допомогою запропонованого методу
порівняно з повною експертизою змін, оскільки дозволяє виділяти зміни класів, заборонених на поточній стадії розроблення з меншимии витратами часу. Застосування методу на практиці дозволяє покращити якість коду завдяки підвищенню ефективності процесу його експертизи. Використовуючи пропонований у роботі підхід, процес експертизи в умовах обмеження часу можна
будувати ефективніше за допомогою відбору змін найважливіших класів змін. Доведено, що метод відмінно працює, якщо аналізуються однотипні зміни, а коли у змінах поєднуються різнорідні модифікації коду, та якість автоматизованої класифікації погіршується. Отримані результати дають можливість розширення застосування даного методу для інших програмних комплексів та систем за умови врахування відмінностей у типах даних та їх параметрів.
Суть розробки, основні результати:
Andrii Boichuk ; Serhii Vashchyshak; Taras Styslo; Oleh Pashkevych; Tetiana Boichuk; Vitalii Vashchynsky. Technology of autoclassification of changes in the process of multicomponent software development =Технологія автокласифікації змін у процесі розробки багатокомпонентного програмного забезпечення // Вісник ТНТУ, 2022. № 3(107). С. 99-104.