Automatic Bug-finding Techniques for Large Software Projects

Cílem této práce je výzkum aplikovatelnosti současných technik pro automa- tické hledání chyb na velkých softwarových projektech. Vzhledem k tomu, že tyto projekty bývají komplexní, je poptávka po výkonných analyzátorech, které mohou takové projekty zpracovat bez přílišného generování falešných hláš...

Celý popis

Uloženo v:
Podrobná bibliografie
Hlavní autor: Slabý, Jiří (Autor práce)
Další autoři: Kučera, Antonín, 1971- (Vedoucí práce)
Typ dokumentu: VŠ práce nebo rukopis
Jazyk:Angličtina
Vydáno: 2014
Témata:
On-line přístup:http://is.muni.cz/th/98734/fi_d/
Obálka
Popis
Shrnutí:Cílem této práce je výzkum aplikovatelnosti současných technik pro automa- tické hledání chyb na velkých softwarových projektech. Vzhledem k tomu, že tyto projekty bývají komplexní, je poptávka po výkonných analyzátorech, které mohou takové projekty zpracovat bez přílišného generování falešných hlášení. Ke splnění tohoto cíle se práce zaměřuje na statické analyzátory, zejména pak na ty, které používají techniky jako abstraktní interpretace a symbolická exekuce. Od doby jejich uvedení v 70. letech 19. století se jejich použití v současnosti zvyšuje díky rychlým procesorům. Jedině díky tomu jsou tyto techniky použitelné na velkých softwarových projektech. Práce shrnuje aktuální stav vybraných technik implementovaných v sou- časných statických analyzátorech. Nadále diskutuje několik velkých softwa- rových projektů, které mohou být použity jako základna pro vyzkoušení technik. Nakonec jako základnu pro zkoušení zvolíme Linuxové jádro. Kromě prozkoumaného stavu současných technik navrhujem
This thesis studies the application of contemporary automatic bug-finding techniques to large software projects. As they tend to be complex systems, there is a call for efficient analyzers that can exercise such projects without generating too many false positives. To fulfill these requirements, this thesis aims at the static analysis with the primary focus at techniques like the abstract interpretation and symbolic execution. Since their introduction in 1970’s, their applicability is increasing thanks to current fast processors. Only this renders the techniques usable for larger software. The thesis summarizes the current state of the art of chosen techniques implemented in the current static analyzers. Further, we discuss some large code bases which can be used as a test-bed for the techniques. Finally, we choose the Linux kernel. On the top of the explored state of the art, we develop our own techniques. We present the framework Stanse which utilizes the abstract interpretation and
Popis jednotky:Vedoucí práce: Antonín Kučera
Fyzický popis:xi, 143 s.