Code Quality Evaluation Methodology

Only available on StudyMode
  • Download(s) : 76
  • Published : March 4, 2013
Open Document
Text Preview
CODE QUALITY EVALUATION METHODOLOGY
USING THE ISO/IEC 9126 STANDARD
Yiannis Kanellopoulos1, Panos Antonellis2, Dimitris Antoniou2, Christos Makris2, Vangelis Theodoridis2, Christos Tjortjis3,4, and Nikos Tsirakis2 1

Software Improvement Group, Amsterdam, the Netherlands
y.kanellopoulos@sig.nl

2

Dept. of Computer Engineering and Informatics, University Of Patras, Greece {adonel,antonid,makri,theodori,tsirakis}@ceid.upatras.gr

3

Dept. of Engineering Informatics and Telecoms, University of W. Macedonia, Greece 4
Dept. of Computer Science, University of Ioannina, Greece
Christos.Tjortjis@manchester.ac.uk

ABSTRACT
This work proposes a methodology for source code quality and static behaviour evaluation of a software system, based on the standard ISO/IEC-9126. It uses elements automatically derived from source code enhanced with expert knowledge, in the form of quality characteristic rankings, allowing software engineers to assign weights to source code attributes. It is flexible in terms of the set of metrics and source code attributes employed, even in terms of the ISO/IEC-9126 characteristics to be assessed. We applied the methodology to two case studies, involving five open source and one proprietary system. Results demonstrated that the methodology can capture software quality trends and express expert perceptions concerning system quality in a quantitative and systematic manner.

KEYWORDS
Software Quality Management, Static Analysis, Software Metrics, ISO/IEC 9126

1. I

TRODUCTIO

Software systems are large, complex and beset with maintenance problems, whilst users expect high quality and consistent behaviour [1]. However it is hard to assess and assure quality. The ISO/IEC 9126 standard has been developed in order to address software quality issues [2], [3], [4], [5]. It specifies software product quality characteristics and sub-characteristics and proposes metrics for their evaluation. Its main property is that it is generic, which means that it can be applied to any type of software product by being tailored to a specific purpose [6]. This work focuses on source code quality evaluation. Its contribution is a methodology for the software product quality assessment, using the ISO/IEC-9126 standard as a frame of reference and a set of metrics extracted solely from source code. The main characteristics of this methodology are: a three-step approach and a model that links system level quality characteristics to code-level metrics, and the application of the Analytic Hierarchy Process (AHP) [7] to every level of the model’s hierarchy, in order to reflect the importance of metrics and system properties on evaluating quality characteristics. Two case studies were conducted in order to evaluate the proposed methodology. Open source and proprietary systems of different functionality, volume and development paradigm were used. Experimental results showed that the proposed methodology is able to detect how the quality characteristics of a software system evolve. Furthermore, they demonstrated that the

methodology has the ability to successfully express expert perceptions concerning system quality and maintainability in a quantitative and systematic manner. The remaining of this paper is organized as follows: Section 2 reviews software quality models and motivates the selection of the ISO/IEC 9126 standard for this work. Section 3 outlines our method for defining source code attributes, their respective metrics and weights reflecting their importance on evaluating the ISO/IEC-9126’s characteristics. Section 4 reviews results from the proposed methodology and assesses its accuracy. Finally, Section 5 concludes the paper.

2. BACKGROU

D

Software quality is still considered an intangible trait which cannot be weighted or measured [8]. This is attributed to the fact that quality in general is not a single idea, but rather a multidimensional concept. The dimensions of quality include the entity...
tracking img