\par Cílem této práce je vytvořit programovou knihovnu, která by umožnila inkrementální statickou analýzu jazyka YARA, jenž je dnes hojně používán pro popis a~klasifikaci malwaru (blíže popsán v~kapitole \ref{yara}). Podstatou inkrementálního přístupu k~analýze je využívání datových struktur vytvořených v~rámci předchozího běhu analýzy. Díky tomu je možné analyzovat pouze ty části kódu, u~kterých je to zapotřebí. 
\par Existující statické analyzátory jazyka YARA tento přístup nepodporují, což je činí méně vhodnými pro použití v~integrovaných vývojových prostředích (IDE) a~textových editorech. Kvůli konvenčnímu přístupu analyzují kód kompletně znovu po každé editaci, a~to i~v~případě, že byla modifikována pouze jeho malá část. Právě v~textových editorech a~IDE má však statická analýza široké uplatnění, neboť pomáhá programátorům tvořit bezpečnější kód a~lépe ho pochopit. Pro uživatele to v~důsledku znamená vyšší kvalitu a~redukci ceny softwaru. Bližší informace o~statické analýze, o~jejích aplikací a~její inkrementální formě jsou uvedeny v~kapitole \ref{sec:inc_static_analysis}.
\par Tato práce vznikala ve spolupráci s~firmou Avast, která pro tvorbu pravidel v~jazyce YARA používá vlastní vývojové prostředí YDE (Yara Development Environment), jehož součástí je server YLS (Yara Language Server). Ten prostřednictvím protokolu LSP (Language Server Protocol) komunikuje s~textovými editory či~IDE a~dodává jim tak funkcionalitu statických analyzátorů pro snazší návrh a~pochopení pravidel. Tento server je implementován s~využitím knihovny Yaramod-v3 (viz kapitola \ref{sec:yaramodv3}), jež je rovněž vyvíjena společností Avast. Tato knihovna provádí syntaktickou a~sémantickou analýzu pravidel v~jazyce YARA, čímž kontroluje jejich validitu a~skrze aplikační programové rozhraní je k~nim možné přistupovat. Toho lze využít pro pokročilejší statickou analýzu zdrojových souborů.
\par Knihovna, jež je hlavním praktickým výstupem této práce, bude umožňovat provádět statickou analýzu podobným způsobem jako Yaramod-v3. Od tohoto dosavadního řešení ji však bude odlišovat podpora inkrementálního přístupu. Jelikož tato knihovna v~budoucnu nahradí stávající řešení, bude poskytovat s~ním podobné rozhraní, aby bylo možné snadno provést její integraci s~již existujícími projekty. Dále bude odolná vůči~chybám ve zdrojovém kódu. Informace o~návrhu a~implementaci knihovny jsou dostupné v~kapitole \ref{sec:yaramodv4}. Porovnání nového řešení s knihovnou Yaramod-v3 je dostupné v kapitole \ref{sec:results}.
\par Stejně jako u~projektů YLS a~Yaramod-v3, tak i~v~případě této nové knihovny se v~budoucnu bude jednat o~open-source software. Díky tomu má tato práce potenciál poskytnout vylepšený způsob statické analýzy pravidel v~jazyce YARA nejen společnosti Avast, ale také všem uživatelům tohoto jazyka na celém světě.
