Diplomová práce

Statická analýza ukazatelů pro jazyk C

Static pointer analysis for the C language

Bc. Michal Strehovský, učo 139566
Anotace

Premenné ukazovateľového typu sú v imperatívnych programovacích jazykoch často využívané na správu pamäti. Možnosť nepriamej zmeny obsahu premenných pomocou ukazovateľov však významným spôsobom postihuje presnosť statickej analýzy takýchto programov. Na zvýšenie presnosti statickej analýzy je nutná analýza správania ukazovateľov. Cieľom tejto práce je vytvoriť prehľad existujúcich algoritmov na modelovanie …více

Abstract

Pointer variables are often used for direct memory manipulation in imperative programming languages. The possibility of indirect variable value modification introduced by the use of pointers heavily affects the precision of static analysis. A separate pointer analysis is necessary to model the behavior of pointers. The main objective of this thesis is to create an overview of methods used for pointer …více

Zadání práce
Statická analýza je jedním z přístupů používaných při automatické verifikaci a hledání chyb v programech. Analýza se provádí na zdrojovém kódu bez jeho spuštění, a její přesnost závisí na schopnosti staticky modelovat změny paměti za běhu programu. V případě jazyka C analýzu komplikuje fakt, že kromě datových struktur uložených na zásobníku či haldě máme k dipozici také ukazatele, které v různých okamžicích běhu programu mohou ukazovat na různé bloky paměti. Cílem diplomové práce je nejprve nastudovat a porovnat existující přístupy pro statickou analýzu ukazatelů v jazyce C. Na základě provedené analýzy pak vybraný algoritmus implementovat v rámci nástroje pro statickou detekci chyb Stanse, vyvíjeného na FI.

Literatura:

  • Steensgaard, Bjarne. Points-to analysis in almost linear time. s.l. : ACM, 1996. 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. s. 32-41.
  • Andersen, Lars O. Program Analysis and Specialization of the C Programming Language. 1994. PhD thesis.
  • Livshits, V Benjamin a Lam, Monica S. Tracking pointers with path and context sensitivity for bug detection in C programs. ACM, 2003. ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering. s. 317-326.
Práce zkontrolována:
28. 5. 2010 13:02, doc. Mgr. Jan Obdržálek, PhD., učo 1552
Plný text práce
1,4 MB / soubor PDF
Jazyk práce
slovenština slovenština
Termín obhajoby
30. 6. 2010
Práce byla úspěšně obhájena

Vedoucí

doc. Mgr. Jan Obdržálek, PhD., učo 1552
KTP FI MU

Oponent

Mgr. Marek Trtík, Ph.D., učo 329313
KPSK FI MU

Masarykova univerzita Fakulta informatiky
Studijní program
Aplikovaná informatika

Práce na příbuzné téma

Seznam prací, které mají shodná klíčová slova.

 
Název
Vložil
Vloženo
Práva
  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.