Перегляд за Автор "Yashyna, Oksana"
Зараз показуємо 1 - 5 з 5
Результатів на сторінці
Налаштування сортування
Документ Метод конструювання програмного забезпечення згідно аналізу помилок SQL-запитів(Хмельницький національний університет, 2023) Праворська, Наталія; Яшина, Оксана; Нетреба, Ігор; Доміна, Анастасія; Кириченко, Олександр; Pravorska, Natalya; Yashyna, Oksana; Netreba, Ihor; Domina, Anastasiya; Kyrychenko, OlexanderУ статті наведено результати дослідження аналізу методів виявлення семантичних помилок для декларативної мови програмування – результатів аналізу Брасса і Голдберга, які здійснили аналіз виявивши, що бувають не тільки синтаксичні, але й семантичні помилки, які впливають на роботу програми. Подано список семантичних помилок, які часто зустрічаються під час створення запитів, для аналізу семантичних помилок використовувався набір з 191 834 із зібраних запитів більше ніж 36 000 містили помилку. Для кожної помилки здійснено опис проблеми, наведено приклад типічної помилки, та шляхи її вирішення, можливий варіант реалізації інструменту для їх виявлення для подальшого застосування. Аналізуючи поширеність семантичних помилок у SQL-запитах, виявилось, що найбільше поширеними помилками є відсутність предикатів сполуки, за якими слідують постійні помилки вихідного стовпця, та непотрібні аргументи лічильника. Також було виявлено, що спільна поява семантичних проблем у SQL-запитах для всього набору даних досить низька, що вказує на те, що запити рідко містять більше однієї семантичної помилки. Найбільша схожість між двома проблемами становить 20% для непотрібного аргументу підрахунку та непотрібного угруповання по атрибуту. Також було виявлено, що більш складні запити з точки зору кількості використовуваних сполук, предикатів та функцій, як правило, страждають від більшої кількості семантичних помилок, цікаве відкриття, яке може бути використане в майбутньому як метрика для раннього прогнозування того, чи буде запит може містити семантичні помилки або ні. На сьогоднішній день в Інтернеті багато ресурсів, які містять багато запитів з проблемами такого типу. Тому розробники які ознайомляться з даним дослідженням та з описаними вище проблемами, оцінять проблему та будуть виділяти більше часу для виявлення цих проблем, щоб усунути їх відразу після їх виявлення, а не в процесі роботи програми. The article presents the results of the analysis of methods for detecting semantic errors for a declarative programming language - the results of the analysis by Brass and Goldberg, who performed the analysis and discovered that there are not only syntactic, but also semantic errors that affect the operation of the program. A list of frequently encountered semantic errors during query generation is provided, a set of 191,834 of the collected queries was used to analyze semantic errors, more than 36,000 contained an error. For each error, a description of the problem is made, an example of a typical error is given, and ways to solve it, a possible option for implementing a tool for their detection for further use. Analyzing the prevalence of semantic errors in SQL queries, the most common errors were found to be missing join predicates, followed by persistent source column errors, and unnecessary counter arguments. It was also found that the co-occurrence of semantic problems in SQL queries for the entire data set is quite low, indicating that queries rarely contain more than one semantic error. The highest similarity between the two problems is 20% for an unnecessary count argument and an unnecessary grouping by attribute. It was also found that more complex queries in terms of the number of compounds, predicates and functions used tended to suffer from more semantic errors, an interesting finding that could be used in the future as a metric to early predict whether a query might contain semantic errors or not. Today, there are many resources on the Internet that contain many queries with problems of this type. Therefore, developers who read this study and the problems described above will appreciate the problem and will allocate more time to identify these problems in order to eliminate them immediately after they are discovered, and not during the operation of the program.Документ Метод оцінки об’єктно-орієнтованих програмних систем на основі аналізу зміни вимог до програмної системи(Хмельницький національний університет, 2022) Дзюрбан, Едуард; Яшина, Оксана; Dziurban, Eduard; Yashyna, OksanaДобре відомий факт, що технічне обслуговування програмного забезпечення відіграє важливу роль і набуває важливого значення в життєвому циклі програмного забезпечення. Оскільки об’єктно-орієнтоване програмування давно вже стало стандартом, дуже важливо розуміти проблеми підтримки об'єктноорієнтованих програмних систем та спосіб виявлення їх потенційних місць виникнення. Ця стаття спрямована на оцінку об'єктно-орієнтованих систем за допомогою аналізу зміни вимог до програмної системи. Основні проблеми порушені в статті: покращення алгоритму аналізу впливу зміни не функціональних вимог до програмної системи на функціональні та їх наслідування. Попит на ефективне програмне забезпечення зростає з кожним днем, і впровадження об’єктноорієнтованого проектування програмних систем здатне задовольнити цей попит, оскільки це, мабуть, найпотужніший механізм розробки ефективних програмних систем. Це може допомогти не тільки зменшити витрати, але й розробити високоякісне системне програмне забезпечення. Розробникам програмного забезпечення потрібні відповідні показники для розробки ефективної системи програмного забезпечення. Ця стаття спрямована на дослідження методів оцінки об’єктно-орієнтованої програмної системи за допомогою аналізу впливу змін функціональних вимог до програмного забезпечення за допомогою не функціональних вимог. Незважаючи на те, що об’єктно-орієнтований підхід має багато переваг, а також він є найпоширенішим зараз та буде таким у майбутньому, його практичність буде доведена лише тоді, коли аспекти управління процесом розробки програмного забезпечення за допомогою цієї методології буде ретельно розглянуто. Саме тут показники програмного забезпечення відіграють важливу роль, забезпечуючи краще планування, зменшення ризиків, раннє виявлення потенційних проблем, оцінку якості та ефективності. У цій статті пропонується набір показників, які найкраще підходять для оцінки використання основних концепцій об’єктно-орієнтованої парадигми, таких як наслідування, інкапсуляція, поліморфізм та повторне використання коду, які однозначно відповідають за підвищення якості програмного забезпечення та продуктивності розробки.Документ Методи забезпечення безпеки для розробки вебзастосунків в ASP.NET Core(Хмельницький національний університет, 2026) Яшина, Оксана; Yashyna, OksanaВ статті представлено методи та ключові аспекти безпекових питань щодо розробки вебзастосунків із використанням технології ASP.NET Core. Загалом даного роду питання розглядаються з різних точок зору, а саме управління доступом та довірою, захисту від ін'єкцій та міжсайтових атак, архітектурних рішень та ізоляції тощо. У сучасних розподілених системах безпека ґрунтується на принципі найменших привілеїв, що забезпечується методом авторизації Claims-Based Authorization, який є науково більш гнучким та точним, ніж традиційна авторизація на основі ролей. Доступ надається не на підставі визначення ролі, а на підставі набору вимог чи тверджень, що дозволяє реалізувати так званий гранульований (деталізований) контроль доступу (Fine-Grained Access Control). У контексті прикладного програмного інтерфейсу, ключ аутентифікації користувача виступає як механізм інкапсуляції довіри. Токен містить криптографічно підписані твердження, що дозволяє застосункам бути без стану. Однак, науковою проблемою тут є відкликання токенів та забезпечення короткого часу життя токенів доступу для мінімізації ризику їх компроментації. Для боротьби із вразливостями дкумент OWASP Top 10 вбудовано у фреймворк через методи безпечного кодування. ASP.NET Core використовує механізми контекстного кодування, наприклад, у Razor Pages для автоматичного контекстного кодування вихідних даних (HTML-кодування). Це є первинною лінією захисту від XSS-атак шляхом зміни інтерпретації даних браузером. Механізм захисту від CSRF-атак базується на використанні синхронізованих токенів, що є криптографічним способом підтвердження, що запит походить із довіреного джерела. Також використовується параметризація запитів через використання об’єктно-реляційного відображення, таких як Entity Framework Core і є реалізацією патерну безпечного доступу до даних, який мінімізує простір атаки для SQL-ін'єкцій, відділяючи команди від даних. З погляду системної архітектури, ASP.NET Core вирішує питання безпеки на рівні конфігурації та розгортання. Система проміжного програмного забезпечення дозволяє централізовано впроваджувати політики безпеки, такі як перенаправлення на HTTPS та управління CORS (Cross-Origin Resource Sharing), що забезпечує агрегацію контролю безпеки на мережевому рівні. Свою роль у забезпеченні безпекових питань відіграє також і управління секретами, оскільки сучасна парадигма вимагає повного відділення секретів ключів, паролів від коду та конфігураційних файлів. ASP.NET Core підтримує інтеграцію зі сховищами секретів, що є реалізацією принципу «не зберігати секрети у коді», а це підвищує безпеку шляхом ізоляції чутливої інформаціїДокумент Методи управління якістю програмного забезпечення(Хмельницький національний університет, 2025) Кустовський, Роман; Яшина, Оксана; Kustovskyi, Roman; Yashyna, OksanaВ роботі представлені методи управління якістю програмного з-абезпечення. Під якістю програмного забезпечення розуміють те, наскільки програмний продукт відповідає вимогам та потребам своїх користувачів. Мова йде як про саме програмне забезпечення, так і процеси його створення. Якісно зроблене програмне забезпечення характеризується достатньою вільністю від помилок та дефектів, вчасною в рамках бюджету поставкою, відповідністю вимогам та придатністю для обслуговування. Структуроване управління якістю програмного забезпечення - це його забезпечення (SQA), планування (SQP) та контроль (SQC). шляхом до створення високоякісного програмного забезпечення є впровадження ефективного управління якістю з відповідними методами. Після наведених вище етапів тестування є основним видом діяльності, що виявляє та вирішує технічні проблеми у вихідному коді програмного забезпечення, оцінює загальну зручність використання, продуктивність, безпеку та сумісність продукту. Серед методів вдосконалення процесу тестування програмного забезпечення та підвищення якості програмних продуктів можна виділити: планування процесу тестування та контролю якості, використання орієнтованого на тестування управління розробкою програмного забезпечення, проведення офіційних технічних оглядів, забезпечення відповідного робочого середовища для команди, впровадження приймального тестування користувача (UAT), оптимізація використання автоматизованих тестів, впровадження дослідницького та спеціального тестування, використання вимірювання якості коду, ефективні звіти про помилки, отримання максимальної віддачі від інструментів управління тестуванням. Запропоновані методи можуть бути застосовані для моніторингу та управління якістю програмного забезпеченняДокумент Парадигми паралельних обчислень в контексті функціонального програмування(Хмельницький національний університет, 2022) Яшина, Оксана; Онишко, Оксана; Yashyna, Oksana; Onyshko, OksanaУ статті здійснено аналіз низки парадигм паралельних обчислень, що підтримуються у різноманітних мовах програмування із описом вимог до мовної підтримки паралельного програмування. Також розглядаються основні принципи та обмеження, що виявляються при перенесенні техніки функціонального програмування на паралельні обчислення. Наприкінці описані вимоги до мовної підтримки.