Thesis Title "A comparative study of static software analysis tools with a special focus on software visualization".
This master thesis is done with the co-operation of ROOTS group, Institute of computer science - III , University of Bonn under the guidance of prof.A.B. Cremers.
Static analysis tools analyze the internal structure and properties and of a program without executing it. There exists a broad range of underlying theoretical approaches and an even broader range of free and commercial tools, which utilize these techniques. The approaches range from textual approaches like counting the number of lines, pattern matching to abstract syntax tree approaches like calculating lack of cohesion of methods and cyclomatic complexity and even further to formal verification techniques. These tools do not differ only in analysis techniques but also in the style of visual representation of the analysis results.
These different tools were developed for different purposes and targeted to serve various user groups or communities. However a systematic comparison, overview and an elaborative catalog of criteria does not exist till now. The intention of this thesis is to compare the tools with respective well defined criteria, which will be iteratively refined or extended. The resulting overview and detailed comparison could guide developers in selection of the most appropriate tool. Tool developers will get an overview of the state of art, the range of user requirements and a list of criteria to measure the quality of their tools.
An analytical study and comparision of these static software analysis tools with a special focus on visualization criteria and the usability issues of different visual representation styles supported by these tools is also carried out as part of this thesis.