Interpretation of Source Code Clusters in Terms of the ISO/IEC-9126 Maintainability Characteristics

Clustering is a data mining technique that allows the grouping of data points on the basis of their similarity with respect to multiple dimensions of measurement. It has also been applied in the software engineering domain, in particular to support software quality assessment based on source code metrics. Unfortunately, since clusters emerge from metrics at the source code level, it is difficult to interpret the significance of clusters at the level of the quality of the entire system. In this paper, we propose a method for interpreting source code clusters using the ISO/IEC 9126 software product quality model. Several methods have been proposed to perform quantitative assessment of software systems in terms of the quality characteristics defined by ISO/IEC 9126. These methods perform mappings of low-level source code metrics to high-level quality characteristics by various aggregation and weighting procedures. We applied such a method to obtain quality profiles at various abstraction levels for each generated source code cluster. Subsequently, the plethora of quality profiles obtained is visualized such that conclusions about different quality problems in various clusters can be obtained at a glance.

[1]  Taghi M. Khoshgoftaar,et al.  Analyzing software measurement data with clustering techniques , 2004, IEEE Intelligent Systems.

[2]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[3]  Claes Wohlin,et al.  An Investigation of a Method for Identifying a Software Architecture Candidate with Respect to Quality Attributes , 2005, Empirical Software Engineering.

[4]  Paul W. Oman,et al.  Construction and testing of polynomials predicting software maintainability , 1994, J. Syst. Softw..

[5]  Joost Visser,et al.  A Tool-based Methodology for Software Portfolio Monitoring , 2004, Software Audit and Metrics.

[6]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[7]  Shing-Ko Liang,et al.  Selecting the Optimal ERP Software by Combining the ISO 9126 Standard and Fuzzy AHP Approach , 2006 .

[8]  Manfred Broy,et al.  Demystifying maintainability , 2006, WoSQ '06.

[9]  Arie van Deursen,et al.  Source-based software risk assessment , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[10]  Joost Visser,et al.  A Practical Model for Measuring Maintainability , 2007, 6th International Conference on the Quality of Information and Communications Technology (QUATIC 2007).

[11]  Christos Makris,et al.  k-Attractors: A Clustering Algorithm for Software Measurement Data Analysis , 2007, 19th IEEE International Conference on Tools with Artificial Intelligence(ICTAI 2007).

[12]  Angélica Caro,et al.  A Probabilistic Approach to Web Portal's Data Quality Evaluation , 2007 .

[13]  Stephen H. Kan,et al.  Metrics and Models in Software Quality Engineering , 1994, SOEN.

[14]  Nguyen D. Thanh,et al.  A Robust Document Skew Estimation Algorithm Using Mathematical Morphology , 2007, 19th IEEE International Conference on Tools with Artificial Intelligence(ICTAI 2007).

[15]  P. Antonellis,et al.  A Data Mining Methodology for Evaluating Maintainability according to ISO / IEC-9126 Software Engineering-Product Quality Standard , 2007 .

[16]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[17]  Reinhold Plösch,et al.  The EMISQ Method - Expert Based Evaluation of Internal Software Quality , 2007 .