Call-graphAnalysisOfPolymorphicConstructsInC#Sources
Stc
Date: 2007-09-06
Time: 11:45
Room: BBL room 471
Speaker: Reinier Vis
Title: Call-graph analysis of polymorphic constructs in C# sources
(thesis defense)
Abstract
Large software systems are generally hard to understand. This makes the
adjustability and the maintainability of these systems difficult. For
further development of these applications, insight of the structure of
these applications is very useful. To gain insight in the applications,
the dependencies in these software systems have to be identified and
analyzed. Once the implicit relations are made explicit, all kinds of
metrics and tests can be performed on these software systems.
The Software Improvement Group has developed a framework for static source
code analysis. This framework supported basic analysis on programs written
in the programming language C#. However, due to market demands, more
extensive analyses on C# programs were required.
This thesis describes an extension of the existing framework, where
features which were introduced by C# version 2.0 are modeled and made
possible to be analyzed. A graph representation of a software system is
built, in which dependency relations and calculated metric values can be
stored. I will explain how call-dependency relations are analyzed and
identified, and how coercion and type conversions are applied to identify
method invocations.