Maintainability

Diomidis Spinellis
Department of Management Science and Technology
Athens University of Economics and Business
Athens, Greece
dds@aueb.gr

Introduction

overview

The Maintainability Index

Maintainability Index definition
Parameter Name Measures
aveV Average Halstead complexity Computational density
aveV(g') Average extended cyclomatic complexity Logical complexity
aveLOC Average count of lines of code Code size
PerCM Average percent of lines of comments Human insight
Maintainability of the user code
Maintainability index over time in the FreeBSD user-space code.

Metrics for Object-oriented Programs

Dependency Metrics on Packages

An unstable package in Tomcat
An unstable package in Tomcat

A stable package in the Eclipse distribution
A stable package in the Eclipse distribution

Analyzability

Analyzability: Dependencies and Coupling

Changeability

Stability

Testability

Effects of the Development Environment

Further Reading

Exercises and Discussion Topics