A Data Mining Methodology for Evaluating Maintainability according to ISO / IEC-9126 Software Engineering-Product Quality Standard

This paper presents ongoing work on using data mining to evaluate a software system’s maintainability according to the ISO/IEC-9126 quality standard. More specifically it proposes a methodology for knowledge acquisition by integrating data from source code with the expertise of a software system’s evaluators A process for the extraction of elements from source code and Analytical Hierarchical Processing for assigning weights to these data are provided; K-Means clustering is then applied on these data, in order to produce system overviews and deductions. The methodology is evaluated on Apache Geronimo, a large Open Source Application Server; results are discussed and conclusions are presented together with directions for future work.

[1]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[2]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[3]  Jeff Sutherland,et al.  Business objects in corporate information systems , 1995, CSUR.

[4]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[5]  Doris L. Carver,et al.  Identification of data cohesive subsystems using data mining techniques , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[6]  Ioannis Stamelos,et al.  Knowledge based evaluation of software systems: a case study , 2000, Inf. Softw. Technol..

[7]  Petra Perner,et al.  Data Mining - Concepts and Techniques , 2002, Künstliche Intell..

[8]  Margaret H. Dunham,et al.  Data Mining: Introductory and Advanced Topics , 2002 .

[9]  Paul J. Layzell,et al.  Facilitating program comprehension by mining association rules from source code , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[10]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[11]  Lionel C. Briand,et al.  Dynamic coupling measurement for object-oriented software , 2004, IEEE Transactions on Software Engineering.

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

[13]  Christos Tjortjis,et al.  Clustering data retrieved from Java source code to support software maintenance: a case study , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[14]  Diomidis Spinellis,et al.  Code Quality: The Open Source Perspective , 2006 .

[15]  Christos Makris,et al.  Mining source code elements for comprehending object-oriented systems and evaluating their maintainability , 2006, SKDD.

[16]  Christos Makris,et al.  An improved methodology on information distillation by mining program source code , 2007, Data Knowl. Eng..