Original title:
Statická analýza Java programů
Translated title:
Static Analysis of Java Programs
Authors:
Vyvial, Pavel ; Hýsek, Jiří (referee) ; Křena, Bohuslav (advisor) Document type: Bachelor's theses
Year:
2008
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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:
automatic bug healing; FindBugs; Java byte-code; SHADOWS; software formal analysis; static analysis; automatická oprava chyb; FindBugs; formální analýza software; Java byte-kód; SHADOWS; statická analýza
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/55529