МЕТОД КОНСТРУЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ЗГІДНО АНАЛІЗУ ПОМИЛОК SQL-ЗАПИТІВ - ПРАВОРСЬКА, НАТАЛІЯ; ЯШИНА, ОКСАНА; НЕТРЕБА, ІГОР; ДОМІНА, АНАСТАСІЯ; КИРИЧЕНКО, ОЛЕКСАНДР (Herald of Khmelnytskyi National University. Technical sciences, 2023)
У статті наведено результати дослідження аналізу методів виявлення семантичних помилок для декларативної мови програмування – результатів аналізу Брасса і Голдберга, які здійснили аналіз виявивши, що бувають не тільки синтаксичні, але й семантичні помилки, які впливають на роботу програми. Подано список семантичних помилок, які часто зустрічаються під час створення запитів, для аналізу семантичних помилок використовувався набір з 191 834 із зібраних запитів більше ніж 36 000 містили помилку. Для кожної помилки здійснено опис проблеми, наведено приклад типічної помилки, та шляхи її вирішення, можливий варіант реалізації інструменту для їх виявлення для подальшого застосування. Аналізуючи поширеність семантичних помилок у SQL-запитах, виявилось, що найбільше поширеними помилками є відсутність предикатів сполуки, за якими слідують постійні помилки вихідного стовпця, та непотрібні аргументи лічильника. Також було виявлено, що спільна поява семантичних проблем у SQL-запитах для всього набору даних досить низька, що вказує на те, що запити рідко містять більше однієї семантичної помилки. Найбільша схожість між двома проблемами становить 20% для непотрібного аргументу підрахунку та непотрібного угруповання по атрибуту. Також було виявлено, що більш складні запити з точки зору кількості використовуваних сполук, предикатів та функцій, як правило, страждають від більшої кількості семантичних помилок, цікаве відкриття, яке може бути використане в майбутньому як метрика для раннього прогнозування того, чи буде запит може містити семантичні помилки або ні. На сьогоднішній день в Інтернеті багато ресурсів, які містять багато запитів з проблемами такого типу. Тому розробники які ознайомляться з даним дослідженням та з описаними вище проблемами, оцінять проблему та будуть виділяти більше часу для виявлення цих проблем, щоб усунути їх відразу після їх виявлення, а не в процесі роботи програми.
Keywords: помилки; SQL; семантичні помилки; декларативна мова програмування; аналіз; метод; програмне забезпечення; конструювання програмного забезпечення; програмування Інтернет; веб-технології