Using Data Mining to Assess Sofwtare Reliability

The paper investigates the applicability of data mining in software reliability assessment and maintenance. The proposed methodology comprises three steps. First the input models are defined by selecting parts of the source code, such as functions, routines and variables, to populate a database. Then Clustering is applied to identify sub-sets of source code that are grouped together according to custom-made similarity metrics. Finally Association rules are used to establish inter-group and intra-group relationships. Experimental results show that the methodology can assess modularity, detect complexity and predict the impact of changes.

[1]  Ramakrishnan Srikant,et al.  Fast algorithms for mining association rules , 1998, VLDB 1998.

[2]  Taghi M. Khoshgoftaar,et al.  Improving tree-based models of software quality with principal components analysis , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[3]  Yves Le Traon,et al.  Analyzing testability on data flow designs , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[4]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[5]  Padhraic Smyth,et al.  From Data Mining to Knowledge Discovery: An Overview , 1996, Advances in Knowledge Discovery and Data Mining.

[6]  Carol S. Smidts,et al.  Ranking software engineering measures related to reliability using expert opinion , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

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

[8]  Farhad Mavaddat,et al.  Architectural design recovery using data mining techniques , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[9]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .