Improved Software Reliability Prediction through Fuzzy Logic Modeling

Similar documents
Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

MSCA Introduction to Statistical Concepts

Prediction of Software Development Faults in PL/SQL Files using Neural Network Models

Performance Based Evaluation of New Software Testing Using Artificial Neural Network

Software project cost estimation using AI techniques

Genetic Algorithms for Optimizing Ensemble of Models in Software Reliability Prediction

Intelligent and Automated Software Testing Methods Classification

NTC Project: S01-PH10 (formerly I01-P10) 1 Forecasting Women s Apparel Sales Using Mathematical Modeling

A Genetic Programming Model for S&P 500 Stock Market Prediction

Evaluating Predictive Quality Models Derived from Software Measures: Lessons Learned

The use of an ERP system for new product development: a logistic perspective

Predictive Dynamix Inc

KEITH LEHNERT AND ERIC FRIEDRICH

MSCA Introduction to Statistical Concepts

International Journal of Computer Science Trends and Technology (IJCST) Volume 2 Issue 3, May-Jun 2014

DATA MINING TECHNIQUES AND APPLICATIONS

NTC Project: S01-PH10 (formerly I01-P10) 1 Forecasting Women s Apparel Sales Using Mathematical Modeling

A Hybrid Approach of Module Sequence Generation using Neural Network for Software Architecture

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

High Frequency Trading using Fuzzy Momentum Analysis

Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

Soft-Computing Models for Building Applications - A Feasibility Study (EPSRC Ref: GR/L84513)

Pattern-Aided Regression Modelling and Prediction Model Analysis

The Combination Forecasting Model of Auto Sales Based on Seasonal Index and RBF Neural Network

Fuzzy Candlestick Approach to Trade S&P CNX NIFTY 50 Index using Engulfing Patterns

EFFICIENT DATA PRE-PROCESSING FOR DATA MINING

A Basic Guide to Modeling Techniques for All Direct Marketing Challenges

Using Data Mining for Mobile Communication Clustering and Characterization

Data Mining and Soft Computing. Francisco Herrera

Prediction of Stock Performance Using Analytical Techniques

Real Stock Trading Using Soft Computing Models

An Introduction to Data Mining

Forecasting Of Indian Stock Market Index Using Artificial Neural Network

EST.03. An Introduction to Parametric Estimating

Patent Big Data Analysis by R Data Language for Technology Management

Maximization versus environmental compliance

Short Term Electricity Price Forecasting Using ANN and Fuzzy Logic under Deregulated Environment

White Paper. Data Mining for Business

Forecasting of Economic Quantities using Fuzzy Autoregressive Model and Fuzzy Neural Network

Sales Forecast for Pickup Truck Parts:

A FUZZY LOGIC APPROACH FOR SALES FORECASTING

An Anomaly-Based Method for DDoS Attacks Detection using RBF Neural Networks

Sub-pixel mapping: A comparison of techniques

A New Method for Traffic Forecasting Based on the Data Mining Technology with Artificial Intelligent Algorithms

A HYBRID FUZZY-ANN APPROACH FOR SOFTWARE EFFORT ESTIMATION

Learning Example. Machine learning and our focus. Another Example. An example: data (loan application) The data and the goal

Lund, November 16, Tihana Galinac Grbac University of Rijeka

A Cloud Based Solution with IT Convergence for Eliminating Manufacturing Wastes

Study Plan for the Master Degree In Industrial Engineering / Management. (Thesis Track)

An Introduction to. Metrics. used during. Software Development

Software Metrics and Measurements

THE present information and communication technologies

Performance Evaluation of Reusable Software Components

Optimization of Software Quality using Management and Technical Review Techniques

Fuzzy Logic Based Revised Defect Rating for Software Lifecycle Performance. Prediction Using GMR

Adaptive Demand-Forecasting Approach based on Principal Components Time-series an application of data-mining technique to detection of market movement

Title. Introduction to Data Mining. Dr Arulsivanathan Naidoo Statistics South Africa. OECD Conference Cape Town 8-10 December 2010.

How Good Is the Software: A Review of Defect Prediction Techniques Brad Clark Dave Zubrow

How To Use Neural Networks In Data Mining

An Evaluation of Neural Networks Approaches used for Software Effort Estimation

SOFT COMPUTING TECHNIQUES FOR SOFTWARE PROJECT EFFORT ESTIMATION

Performance Evaluation Metrics for Software Fault Prediction Studies

Music Mood Classification

Static Data Mining Algorithm with Progressive Approach for Mining Knowledge

Where the Bugs Are. Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ ostrand@research.att.com. Elaine J.

A HYBRID RULE BASED FUZZY-NEURAL EXPERT SYSTEM FOR PASSIVE NETWORK MONITORING

Performance Appraisal System using Multifactorial Evaluation Model

PREDICTIVE TECHNIQUES IN SOFTWARE ENGINEERING : APPLICATION IN SOFTWARE TESTING

Database Marketing, Business Intelligence and Knowledge Discovery

Mobile Phone APP Software Browsing Behavior using Clustering Analysis

A Regression Approach for Forecasting Vendor Revenue in Telecommunication Industries

Modeling and Design of Intelligent Agent System

Knowledge Based Descriptive Neural Networks

Efficient Indicators to Evaluate the Status of Software Development Effort Estimation inside the Organizations

Research of Postal Data mining system based on big data

Predicting Defaults of Loans using Lending Club s Loan Data

Towards applying Data Mining Techniques for Talent Mangement

Predict the Popularity of YouTube Videos Using Early View Data

A Multiobjective Genetic Fuzzy System for Obtaining Compact and Accurate Fuzzy Classifiers with Transparent Fuzzy Partitions

Software Defect Prediction for Quality Improvement Using Hybrid Approach

An Overview of Knowledge Discovery Database and Data mining Techniques

FOREX TRADING PREDICTION USING LINEAR REGRESSION LINE, ARTIFICIAL NEURAL NETWORK AND DYNAMIC TIME WARPING ALGORITHMS

Study on Cloud Computing Resource Scheduling Strategy Based on the Ant Colony Optimization Algorithm

A New Approach For Estimating Software Effort Using RBFN Network

Chapter 12 Discovering New Knowledge Data Mining

Does function point analysis change with new approaches to software development? January 2013

Random forest algorithm in big data environment

Relational Analysis of Software Developer s Quality Assures

JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Get to Know the IBM SPSS Product Portfolio

A Secured Approach to Credit Card Fraud Detection Using Hidden Markov Model

A Retail Demand Forecasting Model Based on Data Mining Techniques

Enhanced Boosted Trees Technique for Customer Churn Prediction Model

Master of Science in Health Information Technology Degree Curriculum

Workforce Planning and Scheduling for the HP IT Services Business

A Health Degree Evaluation Algorithm for Equipment Based on Fuzzy Sets and the Improved SVM

A HYBRID INTELLIGENT MODEL FOR SOFTWARE COST ESTIMATION

AN INTELLIGENT ANALYSIS OF CRIME DATA USING DATA MINING & AUTO CORRELATION MODELS

ENHANCING INTELLIGENCE SUCCESS: DATA CHARACTERIZATION Francine Forney, Senior Management Consultant, Fuel Consulting, LLC May 2013

Transcription:

Improved Software Reliability Prediction through Fuzzy Logic Modeling Sultan Aljahdali College of Business Administration Jeddah, Saudi Arabia aljahdali@cba.edu.sa Narayan C. Debnath Winona State University Winona, MN, USA ndebnath@winona.edu Abstract: Software Reliability is a key concern of many users and developers of softwares. Demand for high software reliability requires robust modeling techniques for software quality prediction. This paper presents a new approach to software reliability assessment by using Fuzzy logic. The Series of Fuzzy logic modeling associated with different time segments can be directly used as a piecewise linear model for reliability assessment and Problem identification, which can produce meaningful results early in the testing process. The model has been applied to three different applications using fuzzy logic and normalized root mean of the square of error as an evaluation criterion. Results show that the fuzzy model adopted has good predictive capability. Keywords: Software Quality, Software Reliability, Piecewise Linear Model, Fuzzy logic. 1. Introduction As Software reliability is becoming more and more important in software industry various techniques are required to discover faults in the development of software. However as reliability of a software is measured in terms of failure it is impossible to measure reliability before the software is developed completely. Software reliability is the most extensively studied quality among all the quality attributes [9]. In the past few years a number of software reliability assessment models have been developed to solve software reliability models. These software models have been developed in response to the urgent need for software engineers, system engineers and managers to quantify the concept of software quality prediction. These models were useful in cases like managing reliability, managing project changes and monitoring test programs. Some of the models that have been developed for software quality prediction are: exponential order statistical model [15], logic regression [11]], Case based reasoning [10], Artificial Neural Networks [13], and Optimal Set reduction [8] The main objective of these models are to help predict which modules are error prone which in turn can help developer to focus on many aspects of maintenance cycle [14]. In this paper we propose a new approach towards software reliability assessment using fuzzy logic and Normalized Root of Mean of the Square of Error (NRMSE) criterion as an evaluation criterion. The rest of the paper is organized as follows: After a brief examination of the existing techniques for software reliability using fuzzy logic in section 2 a new approach using fuzzy logic is presented. Section 3 discusses the evaluation criterion used for the model. Prediction of the Software reliability for the data set and estimation of the parameters for the fuzzy model is presented in section 4. Section 5 presents the results of the prediction of software reliability model using fuzzy logic for 3 different projects. Finally a summary of the work done and future research directions for the proposed strategy are discussed in section 6. 2. Fuzzy logic for software reliability A software system is generally characterized by its size, usually exceeding several thousand lines of code, high complexity, and diverse functionality, many components developed over long period, a large user population and diverse usage environments. Assuring software to very high levels of reliability is one of the most difficult yet important challenges confronting the software industry. As seen above many models have been developed and much research has been devoted towards assessment of software reliability. However against this back ground only few papers have addressed the use of fuzzy models for assessing software reliability which is surprising given their rapid adoption into other areas such as control, classification and decision making. This paper addresses the problem of software reliability prediction using fuzzy logic. Yuan et. Al in [19] used fuzzy subtractive clustering integrated with module order modeling for software quality prediction. First Fuzzy Subtractive clustering is used to predict the number of faults then module order modeling is used to predict whether modules are fault prone or not. Xu et al [18] introduced the fuzzy nonlinear regression (FNR) modeling technique as a method for predicting fault ranges in software modules. A case study of full scale industrial software

system was used to illustrate the usefulness of FNR Modeling. Jeff Tian in [17.] assessed software reliability by grouping data into clusters. The series of data clusters associated with different time segments are used directly as a piecewise linear model for reliability assessment and problem identification. The model is evaluated in the testing of two large software systems from IBM. Adnan et al in [1] explored the potential of prediction techniques which have been used for assessing software reliability. This research is a continuation of work done for analyzing reliability of software systems using various methods, which include Genetic algorithms [5], RBF Neural Networks [6] and Parametric and Non Parametric Methods [7, 2]. Based on the work done we propose a new software reliability assessment model that is based on fuzzy logic and Normalized root of mean of the square of error (NRMSE) evaluation criterion. This new model has been successfully implemented for the projects Real Time and Control applications, Military applications and Operating System applications and shows promising predictive capability. 3. Evaluation Criteria The models performance were measured in terms of the NRMSE 1 n 1 n k = 1 k = 1 ( y( k) y( k)) n ( y( k)) Where y (k) is the actual accumulated faults and and k is the estimated accumulated fault. 4. Prediction using fuzzy logic 4-1. Data set The DACS Services at the Department of Defense (DoD) Software Information Clearinghouse provides an authoritative source for the state of the art software information, supplying technical support for the software community. John Musa of Bell Telephone Laboratories compiled a software reliability database. His objective was to collect failure interval data to assist software managers in monitoring test status, predicting schedules and to assist software researchers in validating software reliability models. These models are applied in the discipline of Software Reliability Engineering. The dataset consists of software failure data on 16 projects. Careful controls were employed during data collection to ensure that the data would be of high quality. The data was collected throughout the mid 1970s. It represents projects from a variety of 2 2 y applications including real time command and control, word processing, commercial, and military applications. 4-2. Fuzzy Logic Structure Fuzzy logic is a form of logic used in systems where variables can have degree of truthfulness or falsehood ness. With fuzzy logic, the outcome of an operation can be expressed imprecisely rather than as a certainly. A fuzzy model is a mapping between linguistic terms, attached to variables. Therefore the input to and output from a fuzzy model can be either numerical or linguistic. The model structure was based on Takagi-Sugeno (TS) fuzzy model, which is suitable for large class of nonlinear systems. In a non-linear discrete time system, the relationship between system input u(k) and output y(k) at time k is given by: y(k)= f (u(k - 1), y(k - 1)) The function f is a static function and fuzzy models of different types can be used to approximate this relationship function f. One of the commonly model is the NARX (Nonlinear Auto-Regressive with exogenous input) model, represented by: y(k) =f (y(k - 1), y(k - 2),..., y(k - n + 1), u(k - 1), u(k -2)..., u(k - m + 1)). where u(k 1). u(k -m+ 1) and y(k - 1)... y (k - n + 1) represents the past model inputs and outputs, respectively. Another model which is special case of the NARX is the NAR (Nonlinear Auto-Regressive) model which, can be represented as: y(k) = f (y(k - 1), y(k - 2),..., y(k - n + 1)). The assessment was done for three projects, Real Time and Control applications, Military applications and Operating System applications. Once the model structure is selected the next step will be to estimate the parameters of the fuzzy model. These parameters include the antecedent membership functions and the consequence polynomials. An additional parameter needs to be selected, that is the number of rules (clusters), which need to be specified by the user. The methodology to build a fuzzy model can be described in the following steps: Using the flow sequence of measurements y (k - 1), y (k - 2), y (k - 3), y (k - 4) and the user defined parameters we form the nonlinear regression problem to find y(k). Compute the antecedent membership function from the cluster parameters.

Given the antecedent membership functions, estimate the consequence parameters by the leastsquare method. 5. Experiment and Evaluation The results of the experiment are shown in Figures 1 to 6, which shows the prediction of the software reliability using Fuzzy logic for the projects Military applications, Operating Systems applications and Realtime and Control applications and the membership function for each project based on the normalized root mean of the square of the error NRMSE as an evaluation criterion. The results obtained in Figures 1 to 6 are based on training and testing of sample data. Training was done on 70% of the sample data and testing was done on the entire data (100%). Figures 1 to 6 shows the actual and estimated responses using fuzzy logic for the projects Real-time and Control applications, Military applications, and Operating Systems applications respectively. The Fuzzy logic model performs very well through out all the experiments. Also, fuzzy logic model has the good predictive capability in all the projects for example the projects, military applications #40, and operating system #ss1c, the NRMSE are 1.1081, 1.2901, but in the real time control project # 1, the NRMSE is 0.9358, as shown in the Table 1, which is the lowest when compared between the two projects. In addition table 2 shows the result of the variance accounted for (VAF) for each project during the testing part and the training part, also the NRMSE during the training and testing part. Military Real-time Op. sys. ss1c # 40 Control #1 1.1081 0.9358 1.2901 Figure 1: Actual and Estimated responses using fuzzy logic model: Real-time Control Applications. Figure 2: Membership Function for Real-time Control Application. Table 1: NRMSE values for the projects Military #40, Realtime Control # 1 and Operating System ss1c. Table 2: Results for the developed Fuzzy logic showing the variance accounted for (VAF) for each project Figure 3: Actual and Estimated responses using fuzzy logic model: Military Applications.

6. Conclusion and Future Work We have shown that fuzzy logic can be used for building software reliability growth models. Fuzzy logic was able to provide models with small NRMSE. The entire system of software reliability research is considered useful for software development and testing industry. At the present we are investigating the use of genetic programming to solve the software reliability growth modeling problem. 7. Acknowledgment: Figure 4: Membership function for Military Application project. We would like to thank College of Business Administration for supporting this research (CBA). 8. Bibliography 1. Adnan, W,A, Mashkuri, H,Y, An Integrated Neural Fuzzy System of Software Reliability Prediction, IEEE Software. 2. Aljahdali, S., Alduhaiman, K., and Francis, M. Parameter Significance for Email Attack Detection, Proceedings of the CSITeA 03 International Conference on Computer Science, Software Engineering, Information Technology, e- Business, and Applications, June 5-7, 2003, pp. Figure 5: Actual and Estimated responses using fuzzy logic model: Operating Systems Applications. 3. Aljahdali, S., Sheta, A., and Habib, M. "Software Reliability Analysis Using Parametric and Non- Parametric Methods, Proceedings of the ISCA 18 th International Conference on Computers and their Application, March 26-28, 2003, pp. 63-66. 4. Aljahdali, S., Abdullah, I., and Sibley, E. Avoiding Redundancies and Conflicts in Security Protocols Proceedings of the ISCA 18 th International Conference on Computers and their Application, March 26-28, 2003. pp. 321-324. 5. Aljahdali, S., Sheta, A., Modeling of Nonlinear Systems Using Genetic Algorithms, Proceedings of the IASTED International Conference on Artificial Intelligence and Application, 4-7, September 2001, pp.220-224. Figure 6: Membership function for Operating Systems project. 6. Aljahdali, S., Sheta, A., and Rine, D., Predicting Accumulated Faults in Software Using Radial Basis Function Network, Proceedings of the ISCA 17 th International Conference on Computers and their Application, 4-6, April 2002, pp. 26-29. 7. Aljahdali, S., Sheta, A., and Rine, D., Prediction of Software Reliability: A Comparison between regression and neural network non-parametric

Models, Proceeding of the IEEE/ACS Conference, 25-29, June 2001,pp.470-471. 8. Briand, L.C, Basili, V.R, Hetmanski, C.J., Developing Interpretable models with optimized set reduction for identifying high-risk software components, IEEE Transactions on Software Engineering, Nov. 1993, 19(11):1028-1044. 19. Yuan, X, Ganesan, K, An application of Fuzzy clustering to software quality prediction, IEEE Software, 2000. 9. Fenton, N.E., Pfleeger, S.L., Sofware Merics : A Rigorous & Pracical Approach, Second Edition, PWS Publishing Company, 1997. 10. Ganesan, K, Khoshgoftaar,T.M., Allen, E.B., Case based Software quality prediction, International Journal of Software Engineeering and Knowledge Engineering, 1999, 9(6), Forthcoming. 11. Khoshgoftaar, T.M., Allen, E.B., Logistic Regression Modeling of Software Quality, International Journal of Reliability, Quality and Safety Engineering, Dec. 1999, 6(4), Forthcoming. 12. Khoshgoftaar, T.M.,Allen, E.B, Jones, W.D., Hudepohl, J.P., Which Software modules have faults that will be discovered by Customers?, Journal of Software Maintenance: Research and Practice,, Jan 1996,11(1):1-18. 13. Khoshgoftaar, T.M., Pandya A.S., Lanning, D.L., Application of Neural Networks for Predicting Faults, Annals of Software Engineering, 1995,1:141-154. 14. Khoshgoftaar, T.M.,Allen, E.B, Kalaichelvan, K.S, Goel, N, Early Quality Prediction: A case study in Telecommunications, IEEE Software, Jan 1996, 13(1): 65-71. 15. Miller, D.R., Exponential order statistic models of software reliability growth, IEEE Transactions on software Engineering, SE-12(1), pp. 12-24, 1986. 16. Schneidewind, N.F., Methodology for validating Software Metrics, IEEE Transactions on Software Engineering, May 1992, 18(5):410-422,. 17. Tian, J, Better Reliability Assessment and Prediction through Data Clustering, IEEE Transactions on Software Engineering, October 2002, Vol. 28, No. 10. 18. Xu, Z, Allen, E, B, Prediction of Software Faults Using Fuzzy Nonlinear Regression Modeling, IEEE Software, 2000, 281-290.