Název:
Podpora ladění ve knihovně WALA pro statickou analýzu
Překlad názvu:
Debugging Support for Static Analysis Library WALA
Autoři:
Havel, Filip ; Parízek, Pavel (vedoucí práce) ; Kofroň, Jan (oponent) Typ dokumentu: Diplomové práce
Rok:
2021
Jazyk:
eng
Abstrakt: [eng][cze] Nowadays, static analysis is a helpful option for developers to ensure all the important properties of a developed application. But these analyses must be also developed and it is inevitable that sometimes they must be debugged to find and solve problems inside of the analyses themself. The debugging of static analyses might be more complicated because some popular analysis frameworks do not provide sufficient support for debugging. One of the widely used analysis frameworks is WALA. In this thesis, we thoroughly explored all the main features of WALA and determined possible points for better debugging support. For each of these points, we designed and implemented supporting infrastructure that should accelerate the process of debugging by avoiding the tedious manual effort needed for inspection and evaluation of the internal state of WALA. One kind of these points is the analysis configuration where we created an inspection system for class hierarchy and call graph that should detect common misconfiguration problems. The next point is the debugging of the data flow transfer functions, for which we created a visualizer of the running analysis over the subject program. This visualization is done within the Visual Studio Code editor. To connect the editor with the analysis we used Debug Adapter Protocol and...V dnešní době je statická analýza užitečným nástrojem pro vývojáře, který zajistí kontrolu všech důležitých vlastností vyvinuté aplikace. Avšak i statické analýzy musí být vyvíjeny, což nevyhnutelně vede k potřebě je ladit za účelem nalezení a opravy problémů uvnitř analýzy. Ladění statické analýzy může být komplikovanější z důvodu absence dostatečné podpory pro ladění, kterou trpí i populární knihovny pro statickou analýzu. Jednou ze široce používaných knihoven pro statickou analýzu je WALA. V této práci jsme důkladně prozkoumali všechny hlavní nástroje z knihovny WALA a určili možnosti zlepšení podpory ladění. Pro všechny tyto možnosti jsme navrhli a implementovali pod- půrnou infrastrukturu, která by měla urychlit proces ladění tím, že odstraní nutnost zdlouhavé manuální práce potřebné pro kontrolu a vyhodnocení interních stavů knihovny WALA. Jedním typem vylepšení je ladění konfigurace analýzy, kde jsme vytvořili systém pro kontrolu hierarchie tříd a grafu volání, který by měl detekovat běžné problémy s ne- správnou konfigurací. Dalším bodem je ladění funkcí přechodu datových toků, pro který jsme vytvořili vizualizér probíhající analýzy nad cílovým programem. Tato vizualizace se provádí v editoru Visual Studio Code. Pro připojení editoru k analýze jsme využili Debug Adapter Protokolu a knihoven pro...
Klíčová slova:
statická analýza|ladění|funkce přechodu|T. J. Watson Libraries for Analysis|WALA|Debug Adapter Protocol|rozšíření VS Code; static analysis|debugging|transfer functions|T. J. Watson Libraries for Analysis|WALA|Debug Adapter Protocol|VS Code extension