Software and Testing Metrics

Cluster

  • Software Engineering

Description

The research is focused on experimental methodologies for

  • Defining experimental metrics of structural complexity and quality;
  • Automated testing driven by metrics;
  • Automated testing driven by models;
  • Organisational problems linked with Existing Software Engineering (Reuse, Maintenance).

The research activity's guiding thread is the experimental analysis of industrial-type IT projects, with particular attention being paid to software linked with company ERP. New metrics were studied, having been drawn mainly by means of statistical methods, which are able to assess IT artifacts (such as code, but also requirements, specifications and projects) depending on the specific application context: development software tools used, type of problems faced, experience of the development staff, etc. Among other things, this allows the production of non-abstract, non-generalist metrics (which are in general, thereby, relatively inaccurate), but able to self-calibrate according to specific analysis environments. Therefore, they model the project reality with greater accuracy. The links between measurements achieved by these metrics and the presence of program faults (malfunctions) were studied, experimentally verifying the types of measurements that best identify the structural complexity of individual modules. For some of these metrics, the possibility was studied of driving the (module or acceptance) testing on the programs that have a higher likelihood of containing malfunctions for a particular release of the software. Further analysis brought about the identification, within these programs, of the code parts or constructs that turn out to be the most critical within the specific project context. All of these analysis activities were developed within an experimental environment, also calculating their level of accuracy. By means of model-driven testing techniques, it is possible to supply coverage metrics of a test suite that refer to the model's components; these techniques are experimented, for instance, in the case of the use of UML models or state machines representing the behaviour of user interfaces. The corresponding coverage metrics can be used in order to decide which further tests would be necessary to develop and perform in order to further reduce the quality risks.

Research subjects

  • Definition of experimental metrics of software
  • Identification of risks for software modules
  • Model-driven techniques for automated testing

ERC panels

  • PE6_3 Software engineering, programming languages and systems

Tags

  • Metriche software, Complessità strutturale, Probabilità fault
  • Testing automatico, Model-driven testing

Members

MAURIZIO PIGHIN
Incaricato esterno di insegnamento
Giorgio BRAJNIK