Original title:
Statická analýza datových toků pro programy v jazyce Java
Translated title:
Static data flow analysis for Java programs
Authors:
Mečiar, Martin ; Zavoral, Filip (advisor) ; Kofroň, Jan (referee) Document type: Master’s theses
Year:
2019
Language:
eng Abstract:
[eng][cze] This thesis proposes a methodology for an acquisition of dependencies between outputs and inputs in Java programs by using static program analysis on bytecode of Java programs. JaBSSA methodology designed by the author is presented in the thesis. The methodology is based on a construction of context-sensitive call graph of the analyzed program and subsequent construction of directed data flow graph, where nodes containing particular metadata represent inputs and outputs of the analyzed program and edges represent data flows amongst them present in the analyzed program. The program on added CD contains JaBSSA's implemen- tation, which serves as a proof of the proposed concept. Java program examples together with test suite generating results of JaBSSA's implementation upon pre- pared Java program examples are part of the program. These generated results are used for demonstration of capabilities and flaws of the proposed concept. 1Tato práce navrhuje metodologii JaBSSA určenou k ziskání zavislostí mezi vstu- py a výstupy Java programů za použití statické programové analýzy na byte- code Java programů. Metodologie JaBSSA je založená na konstrukci context- sensitive grafu volání analyzovaného programu a následnou konstrukci oriento- vaného grafu datových toků, kde uzly majíci specifická metadata reprezentují vstupy a výstupy analyzovaného programu a hrany představují datové toky mezi nimi v analyzovaném programu. Program na přiloženém CD obsahuje imple- mentaci pro metodologii JaBSSA, což slouží jako ověření navrhovaného konceptu. Příklady Java programů spolu se sadou testů, která generuje výsledky implemen- tace metodologie JaBSSA na příkladech, jsou součástí daného programu. Vyge- nerované výsledky slouží pro demonstraci schopností a nedostatků navrhovaného konceptu. 1
Keywords:
bytecode; data flow; Java; static analysis; bytecode; datový tok; Java; statická analýza
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/110191