Assessing Software Quality Attributes with Source Code and Evolution Metrics

Status

finished by Andreas Jetter

Final Thesis (PDF, 950 KB)

Introduction

When it comes to assess the quality of software systems quality attributes such as maintainability, evolvabilty, usability, etc. are frequently used. Although the meaning behind these terms seems to be known there is no common procedure how to measure. This Diploma Thesis is focused on evaluation and comparison of existing quality models. The evaluation is with a prototype tool that implements existing quality models and is applied to a medium-sized Java software system.

The goals of this Diploma Thesis

The goal of this Diploma Thesis is to evaluate and compare existing software quality models by implementing appropriate models in a prototype tool applied to a medium-sized Java software system.

Task description

The first task in the Diploma Thesis is concerned with investigating existing software quality models. The focus is on models that use source code metrics to determine certain quality attributes of the architecture, design, and implementation of a software system.

A number of appropriate quality models are selected and implemented in a prototype tool that becomes part of our Evolizer tool set. The prototype tool facilitates: 1) retrieval of metrics data; 2) computation of the quality attributes; 3) presentation of the results (e.g., table or graphical visualization). For retrieving the metric values existing Java source code metrics tools and our Evolizer tool set has to be used.

To evaluate and compare the results of each model a catalog of criteria has to be specified. For each implemented quality model the criteria are determined by applying the prototype tool to one or two medium-sized open source Java projects such as ArgoUML and/or Azureus.

Optionally, the existing quality models shall be revised and extended. Extensions concentrate on the inclusion of evolution metric data such as the number of modifications and defects, the strength of change coupling relationships, changes in source code metrics, etc. The goal is not to re-invent the wheel but to propose possible improvements of existing quality models.

The envisioned outcome

  • A prototype tool implementing a set of existing quality models.
  • An evaluation and comparison of existing software quality models with a medium-sized Java open source software system.
  • Proposal of possible improvements of existing models by including evolution metrics (optionally).

In this Diploma Thesis you will learn

  • Insights into existing software quality models.
  • Software architecture and design quality aspects.
  • Programming with the Eclipse plug-in and Hibernate object relational mapping tools.

General thesis guidelines

The typical rules of academic work must be followed. "So what is a (Diploma) Thesis" describes guidelines which must be followed. At the end of the thesis, a final report has to be written. The report should clearly be organized, follow the usual academic report structure, and has to be written in English using our s.e.a.l. LaTeX-template.

Since implementing software is also part of this thesis, state-of-the-art design, coding, and documentation standards for the software have to be obeyed.

The diploma thesis has to be concluded with a final presentation.

Advisor

Dr. Martin Pinzger, Patrick Knab, Prof. Harald Gall.

More information on "What is a Diploma Thesis and How to do a Diploma Thesis at IFI" is provided here.