Image

Метод пошуку та усунення повторюваних частин у початковому коді програмного забезпечення

Навчальний заклад: Харківський навчально-виховний комплекс № 45 «Академічна гімназія» Харківської міської ради Харківської області

Автор: Човпан Ігор Сергійович

Відділення: Комп’ютерні науки

Секція: Технології програмування

Область: Харківська

Опис:

Серед розробників програмного забезпечення практика копіювання та вставки коду є досить поширеною. Вона може призводити до катастрофічних наслідків при обслуговуванні програмного забезпечення. Копії стають джерелом помилок та вразливостей, для їх підтримки потрібно забагато ресурсів. Через досить велику відносну кількість копій у початковому коді, пошук та їх усунення є важливою задачею. Існує досить багато методів пошуку копій, але в кожного є свої недоліки. Наприклад, у методах, використовуючих абстрактне синтаксичне дерево, головною перешкодою є завелика алгоритмічна складність. Евристики, що застосовуються при усуненні цієї проблеми, є досить неефективними. Метою проєкту є аналіз існуючих методів знаходження повторюваних частин, створення нового алгоритму знаходження й усунення копій, що має задовільні ефективність та складність. Був створений новий алгоритм, що знаходить та видаляє клони у великих проєктах (Apache OpenOffice, Tomcat, тощо) за досить малий час.