Diplomová práce

Detekcia a automatické odstraňovanie nedosiahnuteľného kódu v jazyku Dart

Detection and Automatic Removal of Unreachable Dart Code

Bc. Nina Rybárová
Anotace

Cieľom tejto práce je rozšíriť nástroje pre ekosystém Flutter a Dart, so zameraním na identifikáciu a elimináciu nedosiahnuteľného kódu. Existujúce riešenia v tejto oblasti sú obmedzené a, ako táto práca ukazuje, nemusia fungovať korektne. Na odstránenie tejto medzery bol vyvinutý nástroj DeadCodeTrimmer, ktorý zabezpečuje presné odstránenie nepoužívaného kódu v Dart projektoch prostredníctvom syntaktickej …více

Abstract

The goal of this thesis is to expand the tools for the Flutter and Dart ecosystem, with a focus on the identification and elimination of dead code. Existing solutions in this area are limited, and as this thesis shows, they may not function correctly. To address this gap, the DeadCodeTrimmer tool has been developed, which ensures the precise removal of unused code in Dart projects through syntactic …více

Klíčová slova
dart flutter dead code dart analyzer
Zadání práce

Flutter/Dart je v súčasnosti relatívne nové, ale populárne prostredie pre vývoj aplikácií. To znamená, že mu často chýbajú určité pokročilé nástroje, ktoré sú už dostupné pre iné programovacie jazyky. Motiváciou tejto práce je preto zlepšiť nástroje pre ekosystém Flutter/Dart.

Konkrétne sa táto práca zameriava na identifikáciu a elimináciu mŕtveho kódu. Študent by mal preskúmať existujúce riešenia pre syntaktickú analýzu a extrakciu metadát v Dart projektoch. Na základe tohto výskumu by sa mala vyvinúť metóda, ktorá identifikuje relevantné nedosiahnuteľné prvky kódu. Práca by mala podrobne popísať, aké podmienky sa používajú na identifikáciu dosiahnuteľného kódu a prečo.

Vyvinutá metóda by mala pokrývať všetky hlavné prvky jazyka Dart, vrátane tried, atribútov, globálnych premenných/konštánt, funkcií/metód, rozšírení a výčtových typov (enums). V rámci analýzy by mal mať používateľ možnosť vybrať si konkrétne vstupné body, z ktorých sa detekcia dosiahnuteľného kódu aplikuje. Navrhovaná metóda by nemala upravovať obsah existujúcich metód ani detekovať nepoužitú/redundantnú logiku vo vnútri metód. Po identifikácii nedosiahnuteľného alebo nepoužitého kódu by implementácia mala byť schopná vymazať dotknutý kód a vytvoriť nový, zjednodušený Dart projekt.

Súčasťou práce by mala byť aj jednoduchá desktopová aplikácia, ktorá umožní konfigurovať a spustiť metódu analýzy pre vybraný projekt. Táto aplikácia by mala zobrazovať primerané zhrnutie analyzovaného a odstráneného kódu. Nakoniec, spoľahlivosť a výkon metódy budú demonštrované na zbierke reprezentatívnych Dart projektov.

Práce zkontrolována:
22. 5. 2025 10:24, RNDr. Samuel Pastva, Ph.D., učo 410286
Jazyk práce
slovenština slovenština
Termín obhajoby
18. 6. 2025
Práce byla úspěšně obhájena

Vedoucí

RNDr. Samuel Pastva, Ph.D., učo 410286
KPSK FI MU

Oponent

RNDr. Martin Macák, Ph.D., učo 410452
KPSK FI MU

Konzultant

Mgr. Rastislav Mirek
abs FI MU

Masarykova univerzita Fakulta informatiky
Studijní program
Plán
Návrh a vývoj softwarových systémů
  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.