Indian Journal of Science and Technology
Year: 2016, Volume: 9, Issue: 10, Pages: 1-8
Jaspreet Kaur1 and Satwinder Singh2*
1C. S. E. and I. T. Department B. B. S. B. E. C, Fatehgarh Sahib, Punjab – 140407, India; [email protected] 2Centre for Computer Science and Technology, Central university of Punjab, Bathinda, India; [email protected]
*Author for Correspondence
Satwinder Singh Centre for Computer Science and Technology, Central university of Punjab, Bathinda, India; [email protected]
Objectives of the Study (a) To study previously designed models for identification of refactoring area in Object Oriented Software Systems. (b) To design a general framework or model that helps to easily identify the software code smells for a good quality of coding. (c) To identify the bad smells in the code with a design of neural network based model with the help of object-oriented metrics and further to predictthe performance ofthe proposed model using various evaluation parameters of confusion matrix. Analysis/Methods: In this study, two different versions of Rhino (1.7r1 and 1.7r2) were taken as dataset. Object –Oriented metrics were taken as input data and the probability factor (occurrence or non-occurrence of a bad smell as output. Presence of a bad smell was considered as 1 and 0 means absence of bad smell. If there was at least one bad smell present in the code in a class, it was marked as smelly class. The tool used to extract the databases for collected object –oriented metrics and bad smells of these Rhino versions is PTIDEJ. Further, the data was tested on neural networks for different epochs to predict their performance. Findings: a) Bad Smell Analysis: Twelve design smells were considered to detect the presence of bad smell in code. If there was at least one bad smell present in the code in a class, it was marked as smelly class. b) Neural Network Model Table: Weight and bias factor for various predictors were calculated for different epochs (500, 1000, and 2000). It shows the weights assigned from input layer to hidden layer and from hidden layer to output neurons layer. After the training, the weights were tested on various datasets. C) Performance Tables and Graphs: In this, the Neural network proposed model was trained using different number of epochs to examine if the number of epochs used in training has any impact on the results or not. Further, the results for the accuracy of these models were shown. Novelty/Improvement: When the data was highly trained then the results were better. When the data was trained with 500 epochs, it was suitable for only with-in company projects but when the data was more trained than the model was also appropriate for cross projects. It was seen that when the data was trained with 1000 and 2000 epochs, the results of the proposed model were improved.
Keywords: Artificial Neural Networks (ANN), Bad smells, Logistic Regression, Object Oriented Metrics, Refactoring, Software Maintainability
Subscribe now for latest articles and news.