Statická analýza Java programů
Static Analysis of Java Programs
Streszczenie
Projekt SHADOWS se zabývá vývojem software, který je schopen automaticky opravovat chyby v programech. Po každé opravě je třeba zjistit, zda opravná akce úspěšně odstranila chybu a nezanesla do kódu chybu novou, mnohem závažnější. Ve své bakalářské práci se zabývám právě takovýmto dokazováním korektni opravy kódu v konkurentních systémech. Některé z chyb v konkurentních systémech mohou být opraveny automatickým přidáním synchronizace. Při takovémto opravování chyb je potřeba zkontrolovat zda v uzamykané části neexistuje instrukce monitorenter, která by mohla představovat potenciální nebezpečí uváznutí. Dokazování korektnosti opravy je prováděno za pomocí Control Flow Graph analýzy nad Java byte-kódem. Prototyp k tomuto účelu využívá statickou analýzu zastoupenou nástrojem FindBugs. The project SHADOWS has started research which is developing software for automatic bug healing. We work with self-healing software, which looks for concurrent bugs. If the~detection software finds a bug, the healing action will be performed. After every healing action, one would like to know whether this action has fixed the detected problem and, perhaps even more importantly, that it has not caused any other, possibly even more serious, problem. Therefore this paper describes a technique which gives the answer for this question after automatical healing. One can fix some concurent bugs by adding healing locks. One does healing assurance by searching monitorenter instruction and uses Control Flow Graph analysis over Java byte-code. The prototype uses static analysis (tool FindBugs) for this purpose.
Keywords
automatická oprava chyb, formální analýza software, FindBugs, Java byte-kód, statická analýza, SHADOWS, automatic bug healing, FindBugs, Java byte-code, software formal analysis, static analysis, SHADOWSLanguage
čeština (Czech)Study brunch
Informační technologieComposition of Committee
Date of defence
2008-06-12Process of defence
Result of the defence
práce byla úspěšně obhájenaSource
VYVIAL, P. Statická analýza Java programů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2008.Collections
- 2008 [325]