Identification of Object Oriented Reusable Components Using Multilayer Perceptron Based Approach

Similar documents
MINE 432 Industrial Automation and Robotics

CHAPTER 6 BACK PROPAGATED ARTIFICIAL NEURAL NETWORK TRAINED ARHF

A Novel Fuzzy Neural Network Based Distance Relaying Scheme

Fault Diagnosis of Analog Circuit Using DC Approach and Neural Networks

Figure 1. Artificial Neural Network structure. B. Spiking Neural Networks Spiking Neural networks (SNNs) fall into the third generation of neural netw

Decriminition between Magnetising Inrush from Interturn Fault Current in Transformer: Hilbert Transform Approach

Indirect Vector Control of Induction Motor Using Pi Speed Controller and Neural Networks

SMARTPHONE SENSOR BASED GESTURE RECOGNITION LIBRARY

COMPUTATONAL INTELLIGENCE

POWER TRANSFORMER PROTECTION USING ANN, FUZZY SYSTEM AND CLARKE S TRANSFORM

Systolic modular VLSI Architecture for Multi-Model Neural Network Implementation +

MAGNT Research Report (ISSN ) Vol.6(1). PP , Controlling Cost and Time of Construction Projects Using Neural Network

A Simple Design and Implementation of Reconfigurable Neural Networks

Comparing The Performance Of MLP With One Hidden Layer And MLP With Two Hidden Layers On Mammography Mass Dataset

FACE RECOGNITION USING NEURAL NETWORKS

Detection and classification of faults on 220 KV transmission line using wavelet transform and neural network

IDENTIFICATION OF POWER QUALITY PROBLEMS IN IEEE BUS SYSTEM BY USING NEURAL NETWORKS

Analysis of Learning Paradigms and Prediction Accuracy using Artificial Neural Network Models

IJITKMI Volume 7 Number 2 Jan June 2014 pp (ISSN ) Impact of attribute selection on the accuracy of Multilayer Perceptron

Multi-User Blood Alcohol Content Estimation in a Realistic Simulator using Artificial Neural Networks and Support Vector Machines

Classification of Voltage Sag Using Multi-resolution Analysis and Support Vector Machine

Colour Recognition in Images Using Neural Networks

NEURAL NETWORK DEMODULATOR FOR QUADRATURE AMPLITUDE MODULATION (QAM)

Enhanced MLP Input-Output Mapping for Degraded Pattern Recognition

Use of Neural Networks in Testing Analog to Digital Converters

Improvement of Classical Wavelet Network over ANN in Image Compression

Stock Price Prediction Using Multilayer Perceptron Neural Network by Monitoring Frog Leaping Algorithm

Harmonic detection by using different artificial neural network topologies

Transactions on Information and Communications Technologies vol 1, 1993 WIT Press, ISSN

Computational Intelligence Introduction

FUZZY AND NEURO-FUZZY MODELLING AND CONTROL OF NONLINEAR SYSTEMS

ARTIFICIAL NEURAL NETWORK BASED CLASSIFICATION FOR MONOBLOCK CENTRIFUGAL PUMP USING WAVELET ANALYSIS

Neuro-Fuzzy and Soft Computing: Fuzzy Sets. Chapter 1 of Neuro-Fuzzy and Soft Computing by Jang, Sun and Mizutani

AN IMPROVED NEURAL NETWORK-BASED DECODER SCHEME FOR SYSTEMATIC CONVOLUTIONAL CODE. A Thesis by. Andrew J. Zerngast

USING EMBEDDED PROCESSORS IN HARDWARE MODELS OF ARTIFICIAL NEURAL NETWORKS

Sonia Sharma ECE Department, University Institute of Engineering and Technology, MDU, Rohtak, India. Fig.1.Neuron and its connection

Artificial Neural Network based Fault Classifier and Distance

Time and Cost Analysis for Highway Road Construction Project Using Artificial Neural Networks

IMPLEMENTATION OF NEURAL NETWORK IN ENERGY SAVING OF INDUCTION MOTOR DRIVES WITH INDIRECT VECTOR CONTROL

Classification Experiments for Number Plate Recognition Data Set Using Weka

Shunt active filter algorithms for a three phase system fed to adjustable speed drive

1 Introduction. w k x k (1.1)

Artificial Neural Networks. Artificial Intelligence Santa Clara, 2016

Multiple-Layer Networks. and. Backpropagation Algorithms

DC Motor Speed Control using Artificial Neural Network

ARTIFICIAL INTELLIGENCE IN POWER SYSTEMS

A comparative study of different feature sets for recognition of handwritten Arabic numerals using a Multi Layer Perceptron

NEURAL NETWORK BASED MAXIMUM POWER POINT TRACKING

Space Craft Power System Implementation using Neural Network

NNC for Power Electronics Converter Circuits: Design & Simulation

Implementation of a Choquet Fuzzy Integral Based Controller on a Real Time System

Chapter 1: Introduction to Neuro-Fuzzy (NF) and Soft Computing (SC)

Analog Implementation of Neo-Fuzzy Neuron and Its On-board Learning

Comparison of Various Neural Network Algorithms Used for Location Estimation in Wireless Communication

NEURALNETWORK BASED CLASSIFICATION OF LASER-DOPPLER FLOWMETRY SIGNALS

Current Harmonic Estimation in Power Transmission Lines Using Multi-layer Perceptron Learning Strategies

COMPARISON OF MACHINE LEARNING ALGORITHMS IN WEKA

CHAPTER 4 PV-UPQC BASED HARMONICS REDUCTION IN POWER DISTRIBUTION SYSTEMS

CHAPTER 4 LINK ADAPTATION USING NEURAL NETWORK

CHAPTER 6 ANFIS BASED NEURO-FUZZY CONTROLLER

Identification of Cardiac Arrhythmias using ECG

An Hybrid MLP-SVM Handwritten Digit Recognizer

Artificial Neural Networks

Using of Artificial Neural Networks to Recognize the Noisy Accidents Patterns of Nuclear Research Reactors

Application of ANN to Predict Reinforcement Height of Weld Bead under Magnetic Field

International Journal of Scientific & Engineering Research, Volume 4, Issue 12, December-2013 ISSN

SELECTIVE NOISE FILTERING OF SPEECH SIGNALS USING AN ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM AS A FREQUENCY PRE-CLASSIFIER

AN ANN BASED FAULT DETECTION ON ALTERNATOR

Application Areas of AI Artificial intelligence is divided into different branches which are mentioned below:

A Comprehensive Study of Artificial Neural Networks

Neural Network Based Optimal Switching Pattern Generation for Multiple Pulse Width Modulated Inverter

ANN Implementation of Constructing Logic Gates Focusing On Ex-NOR

PERFORMANCE ANALYSIS OF MLP AND SVM BASED CLASSIFIERS FOR HUMAN ACTIVITY RECOGNITION USING SMARTPHONE SENSORS DATA

The Basic Kak Neural Network with Complex Inputs

A DWT Approach for Detection and Classification of Transmission Line Faults

Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability

NEURO-ACTIVE NOISE CONTROL USING A DECOUPLED LINEAIUNONLINEAR SYSTEM APPROACH

Prediction of airblast loads in complex environments using artificial neural networks

FAULT DETECTION AND DIAGNOSIS OF HIGH SPEED SWITCHING DEVICES IN POWER INVERTER

TEMPORAL DIFFERENCE LEARNING IN CHINESE CHESS

Target Classification in Forward Scattering Radar in Noisy Environment

COMPARATIVE STUDY ON ARTIFICIAL NEURAL NETWORK ALGORITHMS

Design Neural Network Controller for Mechatronic System

Artificial Neural Networks approach to the voltage sag classification

Abstract. Most OCR systems decompose the process into several stages:

Binary Neural Network and Its Implementation with 16 Mb RRAM Macro Chip

Comparison of MLP and RBF neural networks for Prediction of ECG Signals

Synergy Model of Artificial Intelligence and Augmented Reality in the Processes of Exploitation of Energy Systems

MLP for Adaptive Postprocessing Block-Coded Images

Transient stability Assessment using Artificial Neural Network Considering Fault Location

COLOR IMAGE SEGMENTATION USING K-MEANS CLASSIFICATION ON RGB HISTOGRAM SADIA BASAR, AWAIS ADNAN, NAILA HABIB KHAN, SHAHAB HAIDER

Comparative Study of Neural Networks for Face Recognition

Content Based Image Retrieval Using Color Histogram

Microprocessor Implementation of Fuzzy Systems and Neural Networks Jeremy Binfet Micron Technology

DC Motor Speed Control Using Machine Learning Algorithm

Application of Soft Computing Techniques in Water Resources Engineering

Course Objectives. This course gives a basic neural network architectures and learning rules.

Open Research Online The Open University s repository of research publications and other research outputs

CHAPTER 6 NEURO-FUZZY CONTROL OF TWO-STAGE KY BOOST CONVERTER

IDENTIFYING TYPES OF SIMULTANEOUS FAULT IN TRANSMISSION LINE USING DISCRETE WAVELET TRANSFORM AND FUZZY LOGIC ALGORITHM

Transcription:

Identification of Object Oriented Reusable Components Using Multilayer Perceptron Based Approach Shamsher Singh, Pushpinder Singh, and Neeraj Mohan Abstract Software reuse, is the use of existing software assets partial, modified or complete, to create new software. An approach puts this idea central is called reuse-based software engineering. For Software professionals, reusability is powerful means to potentially overcome the situation known as software crisis and they promises significant software productivity, reliability and quality. In this way a software component is developed only once, and can save out development effort multiple times. In this research paper our objective is the identification of object oriented reusable components using Multilayer Perceptron based Approach. Keywords Reusability, Artificial Neural networks, Multilayer Perceptron. S I. INTRODUCTION OFTWARE reuse[0,24], the use of existing software artifacts or knowledge either partial, modified or complete, to create new software, is a key method for significantly improving software quality, reliability and productivity or in other words, it is the process of implementing or updating software systems using existing software assets. Software assets or components include anything that is produced from a software development effort. In this way a software component is developed only once, and can save out development effort multiple times. Many software developing organization uses CBSE as their software development standard because it reduces the development cost. To achieve this, CBSE is relying on reusability of software assets. So in directly it is clear that reusability is a key factor for reducing the development cost and an approach puts this idea central is called reuse-based software engineering. Software professionals have recognized reuse as a powerful mean to potentially overcome the situation called, software crisis. According to Gomes, this idea is appeared in 968, which opens new horizons for the software design and development. Reusable software components have been promoted in recent years. The software development Shamsher Singh is with the CSE, PTU Jalandhar (e-mail: Shamsher_singh_86@yahoo.co.in ). Er.Pushpinder Singh is Assistant Professor with the Department of CSE, RBIEBT, Kharar. Er. Neeraj Mohan is Head of Department of CSE, RBIEBT, Kharar (email: erneerajmohan@gmail.com). community is gradually drifting toward the promise of widespread software reuse, in which any new software system can be derived virtually from the existing systems. As a result, an increasing number of organizations are using software not just as all-inclusive applications, but also as component parts of larger applications. In this new role, acquired software must integrate with other software functionality. II. INTELLIGENT SYSTEMS Large No Intelligent systems possess one or more of these characteristics. Capability to extract and store knowledge 2. Human like reasoning process 3. Learning from experience (or training) 4. Dealing with imprecise expressions of facts 5. Finding solutions through processes similar to natural evolution Most intelligent systems in use today are based either on the rule based methodology from the field of Artificial Intelligence(AI) known popularly as expert systems, or on one or more of the methodologies belonging to the more recently emerging field known as Soft Computing (SC). So, in this paper we have experimented multilayer Perceptron based Approach for identification of Object oriented Reusable Component. III. ARTIFICIAL NEURAL NETWORKS (ANN) An Artificial Neural Network (ANN) [, 6, and 3] is an information-processing paradigm that is inspired from the working of biological nervous system in human brain. Large number of neurons present in the human brain forms the key element of the neural network paradigm and act as elementary processing elements. These neurons are highly interconnected and work in unison to solve complex problems. Similarly, an Artificial Neural Network can be configured to solve a number of difficult and complex problems. ANNs find a wide variety of applications in diverse areas including functional approximation, nonlinear system identification and control, pattern recognition and pattern classification, optimization, English text pronunciation, protein secondary structure prediction and speech recognition. 37

A. Salient Features Of ANN The biological neurons have many useful and significant characteristics and properties. These are also emulated by neurons in artificial neural networks. Some of these features of artificial neural networks are outlined as under: Input-output Mapping: In this the network learns from these I/O training samples by emulating the input-output mapping for the problem considered for that network. Learning with Experience: it is like, a ANN trained to operate in a specific environment can easily adapt to minor changes in the operating environmental conditions. Nonlinearity: In ANN, the nonlinearity is distributed throughout the network amongst the different neurons in different layers. Model Free Environment: ANN model does not require derivation of the cumbersome mathematical model of the process being considered for a particular application. Hardware Implementation: The ANNs can be implemented in parallel and also realized in VLSI chips. Hardware implementation gives additional speed to ANN. Parallel Distributed Processing: ANNs have a highly interconnected and parallel structure, which lends parallel implementation and results fast processing. Multivariable Systems: The structure of a neuron is designed to accept many inputs and outputs. Therefe, ANN s are readily applicable to multivariable systems. Fault Tolerance: An artificial neural network, when implemented in hardware, has the capability to be inherently fault tolerant. Data Fusion: ANNs have an extra-ordinary ability to process simultaneously both quantitative and qualitative data. B. Fundamentals of ANN Model A neuron is a small processing unit and performs a simple computation that is fundamental to the operation of an ANN. Figure shows the model of a neuron containing the basic elements like inputs, synaptic weights and bias, summing junction and activation function. The elements work together in unison to perform the computation. ) Interconnection Weights A set of inter-connecting links, characterized by a synaptic weight forms the weight matrix. Inputs to the input neurons are given directly. The output of these neurons is fed to the neurons of the next layer of the network by multiplying its amplitude with interconnection synaptic weight value as shown in Equation. Unlike a synapse in the brain, the synaptic weight of an artificial neuron may lie in a range that includes negative as well as positive values. 2) Summing Function Summing junction termed as an adder sums up weighted input signal to any neuron. Thus, net input received by any neuron from the neurons of its previous layer becomes: -------------------- () Where m =, 2, 3, 4 ----- j, the number of neurons in the previous layer and n =, 2, 3, 4 ------ k, the number of neurons in the next layer. The neuron model of figure 4. also includes bias input X0 which is + by default that is applied externally and bias value is denoted by bn. Therefore, net bias bn*x0 has the effect of addition or subtraction to the net input of the activation function, depending on whether net bias is positive or negative. Mathematically, the net input to neuron Xn is described with the help of the following equation ----------------- (2) 3) Activation Function An activation function is used for limiting the amplitude of the output of a neuron. The activation function is also called squashing function as it squashes or limits the amplitude of the output signal to some finite limits. Many types of activation functions are available in MATLAB neural network toolbox and are described as under: purelin i.e. purely linear function Y = mx + C, here m = and C = 0 by default. logsig, i.e. a sigmoid function Y = that X + e - resembles a squashed whose output ranges between 0 and as net input to the neuron varies from - to + There are many other activation functions available. The sigmoid function is shown in figure 2 Fig. Model of a Neuron for Execution of Output 38

than one layer of neurons in its network as shown in the figure 3. The description of each layer is given as under: Fig. 2 Sigmoid Activation Function Mathematically, the net output Y n of a neuron is described with the help of the following pair of equations: j n = mn m + n 0 & Y n X m= e - X w x bx = + -------- (3). n The neuron net input X n is squashed using sigmoid activation function and Y n is the output of the neuron. C. ANN s Architectures Number ANN s can be divided into two major categories based on their connection topology:. Feed forward neural networks 2. Feedback neural networks Feed-forward neural networks allow the signal to flow in the forward direction only. The signals from any neuron do not flow to any other neuron in the preceding layer. Feed-forward networks, based on their architectures, are further classified into different categories i.e. Multilayer Perceptrons (MLPs), Counter-propagation Networks (CPN), Cerebellar Model Articulation Controller (CMAC) and Radial Basis Function Networks (RBF Nets). Feedback neural networks do not impose any such constraint on the flow of the signal in the network. The signal from a neuron in a layer can flow to any other neuron whether it be preceding or succeeding layers. The interconnections between neurons in the same layer are called lateral connections. Such neural nets are very much suitable for systems where output of the system under consideration is a function of not only the inputs but past outputs and inputs also. However, the drawback with these networks is that these are complex and are difficult to implement. D. Multilayer Perceptron In ANNs, neurons are arranged into groups called layers. The term Multilayer Perceptron [] is self- explanatory, multi means more than one. Thus, Multilayer Perceptron has more Fig. 3 Multilayer Perceptron with a Single Hidden Layer ) Input layer It consists of a set of neurons equal to no. of input variables that receive inputs form the external environment. In this layer, there is no activation function; no processing of input variables and output of each neuron is the same as its input. 2) Hidden Layer In any Multilayer Perceptron neural network, there can be a number of hidden layers between the input and output layers. It is mathematically proven fact that a single hidden layer is sufficient to approximate any function to any degree of accuracy provided there is enough number of neurons in the hidden layers. The number of neurons in a hidden layer is chosen very carefully to limit the complexity and at the same time to achieve better functional approximation accuracy. The function approximation accuracy improves with increase in the neurons in the hidden layer, but, the network complexity increases and the response time of network deteriorates. Both the factors are important and act contrary to one another. In order to maintain balance between the two opposing constraints, the judicious choice of the number of hidden layer neurons becomes very significant. 3) Output Layer The output layer consists of neurons that communicate the output of the system to the user or the external environment. The number of neurons in the output layer is equal to the number of output variables. The neurons in this layer receive their input from the preceding layer or last hidden layer in the network. E. ANN model for Modeling of Reusability of OO software System Neural network can be used to evaluate the reusability of OO-based component using its structural attributes as inputs. An algorithm has been proposed in which the inputs can be given to Neural network in form of tuned WMC, DIT, NOC, CBO, LCOM values of the OO software component and output can be obtained in terms of reusability 39

false negatives (FN) refer to reusable modules incorrectly classified as non-reusable modules as shown in table. TABLE I CONFUSION MATRIX OF PREDICTION OUTCOMES. Predicted Value Real Data Value Reusable Non-Reusable Reusable TP FP Non-Reusable FN TN Fig. 4 ANN model of Modeling of Reusability of OO software System Hence in this study, we will experiment with Multi Level Perceptron based classification approach for the reusability prediction of object oriented systems. IV. METHODOLOGY Reusability evaluation System for Object Oriented Software Components can be framed using following steps: A. Selection and refinement of metrics targeting the reusability of Object Oriented software system and perform parsing of the software system to generate the Meta information related to that Software. The proposed five metrics for Object-Oriented Paradigm are as follows [5,7]: ) Weighted Methods per Class (WMC) 2) Depth of Inheritance Tree (DIT) 3) Number of Children (NOC) 4) Coupling Between Object Classes (CBO) 5) Lack of Cohesion in Methods (LCOM) With help of the confusion matrix values the precision and recall values are calculated described below: Precision: Precision = TP / (TP + FP) Recall: Recall = TP / (TP + FN) [7] F-measure: F-measure is the product of precision and recall for a particular class. The higher value of F-measure is desirable for a good classifier system. Accuracy: The percentage of the predicted values that match with the expected values of the reusability for the given data. The best system is that having the high Accuracy, High Precision and High Recall value. V. RESULTS AND DISCUSSION The object oriented dataset considered have the output attribute as Reusability value. The Reusability in the dataset is expressed in terms of six numeric labels i.e. to 6. The label represents Non-Reusable and the label 6 represents the Excellent Reusable Label. The statistics of the count of the number of examples of certain reusability label is shown in the Table 2. TABLE II STATISTICS OF REUSABILITY OUTPUT ATTRIBUTE IN THE DATASET. B. Calculate the metric values of the sampled software components. C. Use MLP (Multi Level Perceptron) based system for the Reusability Prediction: D. The performance criterion taken is the classification Accuracy%. It is the percentage of the predicted values that match with the expected values of the reusability for the given data. The best system is that having the high Accuracy value. The number of folds is fixed to 0, as long as the number of instances in the training set is not smaller than 0. If this is the case the number of folds is set equal to the number of instances. Deduce the results on the 0 fold cross validation accuracy, precision and recall values. In case of the two-level output value based problem, the confusion matrix has four categories: True positives (TP) are modules correctly classified as Reusable modules. False positives (FP) refer to non-reusable modules incorrectly labelled as reusable modules. True negatives (TN) correspond to non-reusable modules correctly classified as such. Finally, The graphical display of the above statistics is as follows: Fig. 5 Bar Chart of count of examples with different reusability level 40

The statistics shows that in the dataset, there are 48 examples of label and 39 examples of label 2. The input attribute-wise statistical details of the count of the examples of the labels are shown in table 3, 4, 5, 6, 7. The input attributes are expressed in the three linguistic labels i.e., 2, and 3. The label corresponds to the Low value, label 2 corresponds to the Medium value and label 3 corresponds to the high value. The given data is with five Input Attributes i.e. TWMC, LTNOC, LTNOC, LCBO, TLCOM, and one Output attributes named as Reusability Level of the Software Component. Then MLP based algorithm is run in WEKA environment. The following are the parameters used in the MLP algorithm implementation in the WEKA as shown in figure 6: TABLE III STATISTICS OF THE INPUT ATTRIBUTE TWMC IN THE DATASET. TABLE IV STATISTICS OF THE INPUT ATTRIBUTE LTDIT IN THE DATASET. TABLE V STATISTICS OF THE INPUT ATTRIBUTE LTNOC IN THE DATASET. Fig. 6 Parameters used for the MLP The structure of MLP used is shown below: TABLE VI STATISTICS OF THE INPUT ATTRIBUTE LCBO IN THE DATASET. Fig. 7 Structure of MLP used After the 0 fold cross validation the Correctly Classified Instances 62 i.e.7.2644 %. It means Incorrectly Classified Instances are 25 i.e. 28.7356 %. The Mean absolute error and Root mean squared error calculated are 0.09 and 0.2772 respectively. TABLE VII STATISTICS OF THE INPUT ATTRIBUTE TLCOM IN THE DATASET. On the basis of the confusion matrix the precision and recall is calculated for the different classes as shown in Fig. 7. 4

Fig. 7 Performance Results VI. CONCLUSION In this study Multi Level Perceptron (MLP) based classification approach is evaluated for Reusability Prediction of Object based Software systems. Here, the metric based approach is used for prediction. Reusability value is expressed in the Six linguistic values. Five Input metrics are used as Input and the training of the proposed system is performed, thereafter performance of the system is recorded for prediction of reusability of the software modules. After the 0 fold cross validation the Correctly Classified Instances is 62 i.e. 7.2644 %. It means Incorrectly Classified Instances are 25 means 28.7356 %. The Mean absolute error and Root mean squared error calculated are 0.09 and 0.2772 respectively. The precision value of the Reusability level 4 is the highest and the Recall value of Reusability level is the maximum among other classes and overall the F-measure value of all classes is satisfactorily high. It means that the Multi Level Perceptron (MLP) algorithm can satisfactorily predict reusability level of object oriented software components and this can further help in improving the value of the reusability of software components. VII. FUTURE SCOPE The proposed approach is applied on the C++ based software modules/components and it can further be extended to the Artificial Intelligence (AI) based software components e.g. Prolog Language based software components. It can also be tried to calculate the fault-tolerance of the software components with help of the proposed metric framework. The research work can be extended in the following directions: Intelligent Component Mining or Extraction algorithms can be developed Early prediction of the quality of component based system Characterization of Software Components for easy retrieval REFERENCES [] Anderson, J.A (2003) An Introduction To Neural Networks, Prentice Hall of India. [2] Arnold, R.S. (990) Heuristics for Salvaging Reusable Parts From Adav Code, SPC Technical Report, ADA_REUSE_HEURISTICS- 900-N, March 990. [3] Basili, V. R. and Rombach, H. D. (988) The TAME Project: Towards Improvement Oriented Software Environments, IEEE Trans. Software Eng., vol. 4, no. 6, June 988, pp. 758-77. [4] Basili, V.R. (989) Software Development: A Paradigm for the Future, Proceedings COMPAC 89, Los Alamitos, California, IEEE CS Press, 989, pp. 47-485. [5] Boetticher, G. and Eichmann, D. (993) A Neural Network Paradigm for Characterizing Reusable Software, Proceedings of the Australian Conference on Software Metrics, Australia, July, 993, pp. 234-237. [6] Boetticher, G., Srinivas, K. and Eichmann, D. (990) A Neural Net- Based Approach to the Software Metrics Proceedings of the 5th International Conference on Software Engineering and Knowledge Engineering, San Francisco, CA, 4-8 June 990, pp. 27-274. [7] Caldiera, G. and Basili, V. R. (99) Identifying and Qualifying Reusable Software Components, IEEE Computer, February 99. [8] Dunn, M. F. and Knight, J. C. (993) Software reuse in Industrial setting: A Case Study, Proc. of the 3th International Conference on Software Engineering, Baltimore, MA, 993. pp. 56-62. [9] Esteva, J. C. and Reynolds, R. G. (99) Identifying Reusable Components using Induction, International Journal of Software Engineering and Knowledge Engineering, Vol., No. 3, 99, pp. 27-292. [0] Frakes, W.B. and Kyo Kang (2005) Software Reuse Research: Status and Future, IEEE Trans. Software Engineering, vol. 3, issue 7, July 2005, pp. 529-536. [] Jang, J-S. R. and Sun, C.T. (995) Neuro-fuzzy Modeling and Control, Proceeding of IEEE, March 995, pp. 23-35. [2] Jerome Feldman (996) Neural Networks - A Systematic Introduction Berlin, New-York, 996. [3] Kartalopoulos, S. V. (996) Understanding Neural Networks and Fuzzy Logic-Basic Concepts and Applications, IEEE Press, 996, pp. 53-60. [4] Mayobre, G. (99) Using Code Reusability Analysis to Identify Reusable Components from Software Related to an Application Domain, Proceeding of the Fourth Workshop on Software Reuse, Reston. VA, November, 99, pp. 87-96. [5] Parvinder Singh and Hardeep Singh (2005) Critical Suggestive Evaluation of CK METRIC, Proc. of 9th Pacific Asia Conference on Information Technology (PACIS-2005), Bangkok, Thailand, July 7 0, 2005, pp 234-24. [6] Poulin, J. S. (997) Measuring Software Reuse Principles, Practices and Economic Models, Addison-Wesley, 997. [7] Richard, W. S. (2005) Enabling Reuse-Based Software Development of Large-Scale Systems, IEEE Trans. on Software Engineering, Vol. 3, No. 6, June 2005 pp. 495-50. [8] Selby, R. W. (988) Empirically Analyzing Software Reuse in a Production Environment, Software Reuse: Emerging Technology, W. Tracz, ed, IEEE Computer Society Press, 988. [9] Parvinder Singh Sandhu and Hardeep Singh, Software Reusability Model for Procedure Based Domain-Specific Software Components, International Journal of Software Engineering & Knowledge Engineering (IJSEKE), Vol. 8, No. 7, 2008, pp. 9. [20] Parvinder S. Sandhu, Parwinder Pal Singh,hardeep Singh, "Reusability Evaluation With Machine Learning Techniques", WSEAS TRANSACTIONS on COMPUTERS, issue 9, Volume 6, September 2007, pp. 065-076. [2] Parvinder Singh Sandhu and Hardeep Singh, "A Reusability Evaluation Model for OO-Based Software Components", International Journal of Computer Science, vol., no. 4, 2006, pp. 259-264. [22] Parvinder Singh Sandhu and Hardeep Singh, "Automatic Quality Appraisal of Domain-Specific Reusable Software Components", Journal of Electronics & Computer Science, vol. 8, no., June 2006, pp. -8. [23] Deelstra, S., Sinnema, M., Nijhuis, J. and Bosch, J., COSVAM: A Technique for Assessing Software Variability in Software Product Families, Proceedings 20th IEEE International Conference on Software Maintenance, Sept 2004, pp. 458-462. [24] FRAKES W., Terry C., Software Reuse: Metrics and Models INCODE Corporation. 42