Using Data Mining to Assess Software 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]  Farhad Mavaddat,et al.  Architectural design recovery using data mining techniques , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

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

[3]  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).

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

[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]  Ramakrishnan Srikant,et al.  Fast algorithms for mining association rules , 1998, VLDB 1998.

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

[8]  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.