PODEJŚCIE DO WYSZUKIWANIA DUPLIKATÓW I BLISKICH DUPLIKATOM KLONÓW W KODZIE WYSOKIEGO POZIOMU
Duplikacja kodu jest jedną z najbardziej kłopotliwych przeszkód w utrzymaniu oprogramowania. Wykrywanie klonów musi być przyjęte jako środek proaktywny w rozwoju oprogramowania, aby uniknąć problemów z klonami w późniejszych fazach, takich jak testowanie i konserwacja.Głównym celem tej pracy jest wykrycie duplikacji w kodzie źródłowym, która jest jedną z głównych przyczyn słabej struktury w rzeczywistych programach. Nowością w naszym podejściu do wykrywania klonów jest wykrywanie klonów bliskich braku na poziomie pliku jako pomoc w konserwacji oprogramowania. Klony bliskie braku to takie, które nie są dokładnie podobne do siebie i mogą zawierać zmiany w nazwach zmiennych, literałów, przestrzeni białej itp. Nasza praca opiera się na metrykach i podejściach opartych na Abstrakcyjnym Drzewie Składniowym i bierze pod uwagę odległość Levenshteina. W celu uzyskania wyników eksperymentalnych, opracowaliśmy narzędzie oparte na zaproponowanej metodzie, a uzyskane wyniki jasno pokazują, że skutecznie wykrywa ono klony na poziomie pliku, czyli pomiędzy różnymi plikami.