International Journal of Computer Applications (0975 8887) Volume 55No.15, October 2012 12 Modeling of Reusability of Procedure based Software Components using Naive Bayes Classifier Approach Priyanka Kakkar Mtech(CSE)* SSCET, Pathankot Meenakshi Sharma HOD(CSE) SSCET, Pathankot Parvinder Sandhu, PhD. Rayat-Bahra, Mohali ABSTRACT We have developed a highly flexible module to evaluate and access the reusability of software components. The purpose of this model is to do pattern recognition by discovering supervised features which can help us to measure the intangible aspects of software components in terms of reusability. There were several function based applications which were given due diligence for identifying their various degrees of reusability of their components. Once these projects were analyzed their software components were measured in terms of software metrics including (Volume, Coupling, Complexity, Reuse frequency, Regularity and Reusability). These measured metrics were carefully allocated a particular set of label which was based on the principals of software engineering and objectives to be achieved for doing the due research. Therefore, in this research work we are studying the degree of reusability by using six classes Naïve Bayes Classification method which was able to give high precision value as compare to previous methods. 1. INTRODUCTION 1.1 Software Reusability Software reusability more specifically refers to design features of a software element (or collection of software elements) that enhance its suitability for reuse. In software engineering, reusability is the likelihood a segment of source code that can be used again to add new functionalities with slight or no modification. Reusable modules and classes reduce implementation time, increase the likelihood that prior testing and use has eliminated bugs and localizes code modifications when a change in implementation is required. Reusability is often a required characteristic of platform software. Reusability brings several aspects to software development that does not need to be considered when reusability is not required. For a software component to become reusable, it has to be generalized from the situation at hand, thoroughly documented and tested, incorporated in a library and classification scheme, and maintained as a separate entity. The software industry is moving toward large-scale reuse, resulting in savings of time and money. To develop a new system from scratch is very costly. This has made custom software development very expensive. It is generally assumed that the reuse of existing software will enhance the reliability of a new software application. This concept is almost universally accepted because of the obvious fact that a product will work properly if it has already worked before. A component can be considered an independent replaceable part of the application that provides a clear distinct function. A component can be a coherent package of software that can be independently developed and delivered as a unit, and that offers interfaces by which it can be connected unchanged with other components to compose a larger system. 1.2 Methodology Reusability evaluation System for function/procedure Based Software Components can be framed using following steps: Figure 4.1 Methodology of Function Based Software Components. Naïve Bayes Classifier It is a simple probabilistic classifier based on applying Bayes' theorem with strong (naive) independence assumptions. A more descriptive term for the underlying probability model would be "independent feature model". In simple terms, a Naive Bayes classifier assumes that the presence (or absence) of a particular feature of a class is unrelated to the presence (or absence) of any other feature, given the class variable. The Naïve Bayes Probabilistic Model: Abstractly, the probability model for a classifier is a conditional model over a dependent class variable with a small number of outcomes or classes, conditional on several feature variables through . The problem is that if the number of features is large or when a feature can take on a large number of values, then basing such a model on probability tables is infeasible. We therefore reformulate the model to make it more tractable. Using Bayes' theorem, we write