Details

Quality control is paramount in every engineering
discipline. Software engineering, however, is not
considered a classical engineering activity for
several reasons, such as intrinsic complexity and
lack of rigor. In general, if a software system is
delivering the expected functionality, only in few
cases people see the need to analyze the internals.
In this tutorial we offer a pragmatic approach to
analyzing the quality of software systems. On the
one hand, we offer the theoretical background to
detect quality problems by using and combining
metrics, by analyzing the past through evolution
analysis, and by providing visual evidence of the
state of affairs in the system. On the other hand,
as analyzing real systems requires adequate tool
support, we offer an overview of the problems that
occur in using such tools and provide a hands-on
session with state-of-the-art tools used on a real
case study.