Visualization of intraprocedural control flow graphs

OData support
Supervisor:
Honfi Dávid
Department of Measurement and Information Systems

Nowadays a carefully developed software is supported by different types of process and lifecycle models. Software testing can be considered as one of the most important elements of these models in order to ensure that the produced product guarantees com-pliance with the requirements. Many aspects and levels of testing can be distinguished. During the work of my thesis I developed an analyzer tool for static software testing and code analysis, which can graphically display control flow graphs. These directed graphs are intended to illustrate all possible control paths of the tested code.

Creating a visualization program for control flow graphs during my work required litera-ture research and the mapping of the tools needed for the accomplishment. First, I dis-cuss concepts in the dissertation where I present in detail the possibilities of software testing, the theoretical background of control flow graphs, and other topics closely relat-ed to the operation of the device. Then I present the class libraries and frameworks used during the implementation.

I provide a detailed description of the architecture of the tool I have developed, the implemented classes, and the operation of the vital methods. It is important to empha-size that in this description the recursive algorithm is used to construct a particular graph accordance with an analyzing curve. I integrate the completed control flow graph into an existing visualization tool that is brought into line with my own graphs and complet-ed with a configuration graphical interface.

First, with the help of a test environment I have created, I present the results obtained along various control structures. Next, I examine the correct functioning methods from two other selected external sources, which I intend to representante the extensive usage of the device.

As a conclusion of my dissertation, I will provide a comprehensive summary of my work, then mentioning development opportunities and software deficiencies.

Downloads

Please sign in to download the files of this thesis.