Процес виявлення блоків з повторами і надлишковістю при використанні мовно-незалежного інкрементного детектора

Вантажиться...
Ескіз
Дата
2021
Автори
Праворська, Н.І.
Бармак, О.В.
Медзатий, Д.М.
Шестакевич, Т.В.
Pravorska, N.I.
Barmac, О.В.
Medzatiy, D.M.
Shestakevych, T.V.
Назва журналу
Номер ISSN
Назва тому
Видавець
Хмельницький національний університет
Анотація
Для уникнення порушень нормального функціонування розробленого програмного забезпечення, спричиненого помилками, навіть коли розробкою займаються професіонали, використовується ряд автоматизованих інструментів, які дають змогу проводити оцінювання програмного коду. Для виявлення помилок, які з’являються через дублювання блоків виконуваного коду, зазвичай застосовують різноманітні детектори. Важливість при розробці подібних детекторів полягає в тому, щоб продукт не був залежним від мови програмування та мав нескладний алгоритм знаходження клонованих блоків коду. В основі підходу мовно-незалежного детектора повторів покладено метод, який базується на використанні індексу клону. Він представляє собою глобальну структуру даних, яка нагадує типовий інвертований індекс. За основу такого підходу береться текст, тобто метод стає базою для досліджень незалежних від мови.
To avoid malfunctions of the developed software caused by errors, even when developed by professionals, a number of automated tools are used, which allow to evaluate the software code. A variety of detectors are commonly used to detect errors that occur due to duplicate blocks of executable code. The importance of developing such detectors is that the product is not dependent on the programming language and has a simple algorithm for finding cloned blocks of code. The approach of the language-independent repetition detector is based on a method based on the use of the clone index. It is a global data structure that resembles a typical inverted index. This approach is based on the text, ie the method becomes the basis for research independent of language. In recent years, additional methods have become increasingly popular, which analyze the source and executable code at a smaller level, and there are attempts to avoid unnecessary recalculations, by transferring information between versions. Reviewing the research presented in the works of scientists dealing with this problem, it was decided to propose an approach to improve methods for detecting repetitions and redundancy of program code based on language-independent incremental repetition detector (MNIDP). Most additional research is based on tree-like and graphical methods, ie they are strictly dependent on the programming language. The solution in the MNIDP campaign is to take the text as a basis, ie the method becomes the basis for research independent of language. This technique is not strictly language-independent, but due to the fact that the tokenization stage will be included, with the help of minor adjustments the desired result has been achieved. This provides a detailed analysis of the internal composition (namely, elements) of the detector and explanations of the work at different stages of the detection process.
Опис
Ключові слова
репозиторій, програмний код, мовно-незалежний детектор, інкрементний підхід, робочий процес, індекс повторення, індекс клону, хеш-функція, хеш-значення, коміт, hash value, repository, language-independent detector, program code, incremental approach, workflow, iteration index, clone index, hash function, commit
Бібліографічний опис
Процес виявлення блоків з повторами і надлишковістю при використанні мовно-незалежного інкрементного детектора / Н. І. Праворська, О. В. Бармак, Д. М. Медзатий,Т. В. Шестакевич // Вісник Хмельницького національного університету. Технічні науки. - 2021. - № 3. - С. 39-45.