Quality Model based on Object-oriented Metrics and Naive Bayes
Author(s) -
S. O. Peck,
C. K. Ho
Publication year - 2011
Publication title -
intech ebooks
Language(s) - English
Resource type - Book series
DOI - 10.5772/14047
Subject(s) - naive bayes classifier , computer science , quality (philosophy) , object (grammar) , artificial intelligence , data mining , support vector machine , philosophy , epistemology
Software quality engineering is a field in software engineering specializing on improving the approach to software quality on different software artifacts such as object-oriented analysis models, object-oriented design models, and object-oriented implementation models. Software quality is the degree to which a software artifact exhibits a desired combination of quality-carrying attributes (e.g. testability, reliability, reusability, interoperability, and other quality-carrying attributes). This research specializes on improving the code quality of object-oriented systems through a quality model that utilizes a suite of object-oriented metrics and a machine learning technique, namely Naive Bayes. Most of the existing object-oriented metrics and machine learning techniques capture similar dimensions in the data sets, thus reflecting the fact that many of the object-oriented metrics and machine learning techniques are based on similar hypotheses, properties, and principles. Accurate quality models can be built to predict the quality of object-oriented systems by using a subset of the existing object-oriented design metrics and machine learning techniques. This research proposes a software quality model, namely QUAMO to assess the quality of object-oriented code on-the-fly. The primary objective of the model is to make similar studies on software quality more comparable and repeatable. The model is augmented from five quality models, namely Boehm Model, McCall Model, FURPS, ISO 9126, and Dromey Model. The quality model specializes on Bayesian network classifier, Naive Bayes. The Naive Bayes classifier, a simple classifier based Bayes’ law with strong independence assumptions among features is comparable to other state-of-the-art classifiers, namely ID3 Decision Tree, J48 Decision Tree, and C4.5 Decision Tree. Naive Bayes is very effective in solving the classification problems addressed in this research, namely the conditional maximum likelihood prediction of faults in object-oriented systems. Most of the metrics proposed by other researchers mainly specialized at the class level such as CK Metrics Suite and MOOD Metrics Suite (Chidamber & Kemerer, 1994). Fewer component level metrics have been proposed such as Rate of Component Observability, Rate of Component Customizability, and Self-Completeness of Component's Return Value. As such, this research also proposes a suite of specialized object-oriented metrics that can be applied at the class and component levels as some insights can be gained by examining the average characteristics of both a class and a component. Each metric quantifies a particular feature of an object-oriented system. In other words, each refers to a structural mechanism of the
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom