Java programmide staatiline intervallanalüüs raamistikus Põder

Date

2019

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Staatiline programmianalüüs on meetod programmide uurimiseks eesmärgiga tuvastada programmis vigu või kontrollida koodi kvaliteeti ilma programmi käivitamata. Käesoleva bakalaureusetööga luuakse staatilise analüüsi raamistikku Põder intervallanalüüsi moodul, millega on võimalik kontrollida ja analüüsida täisarvuliste muutujate käsitlust Java programmides. Selleks antakse lugejale ülevaade staatilise analüüsi teoreetilisest lahendusest ja matemaatilisest võreteooriast ning kirjeldatakse JVM (Java Virtual Machine) baitkoodi. Töö praktilises osas luuakse eelnevalt kirjeldatud teooriale toetudes intervallanalüüsi moodul. Moodulit testitakse testprogrammide komplektiga näidates, et moodul on suuteline JVM-baitkoodiks kompileeritud programmides leidma täisarvuliste muutujate käsitlemisel tekkinud vigu.
Static program analysis is a method for studying program’s behaviour with the intent of detecting bugs or verifying code quality. The main goal of this thesis is to create an interval analysis module in the framework Põder, which could be used for detecting bugs and inefficiencies in the usage of integer variables in Java programs. The reader is first given an overview of static analysis, the mathematical lattice theory and Java Virtual Machine (JVM) bytecode. After that, the interval analysis module will be created based on the previously described theory. The module will be tested with a test program suite proving that the module can successfully be used for detecting bugs related to the usage of integer variables.

Description

Keywords

Citation