A Comparative Study of Bayesian and Fuzzy approach to Assess and Predict Maintainability of the Software Using Activity-Based Quality Model Kawal Jeet Assistant Professor D.A.V College Jalandhar, India 918146373900 Kawaljeet80@gmail.com Renu Dhir Associate Professor Dr. B R Ambedkar, NIT Jalandhar, India 919417199050 dhirr@nitj.ac.in Harsh Verma Associate Professor Dr. B R Ambedkar, NIT Jalandhar, India 919463001601 vermah@nitj.ac.in ABSTRACT Quality is considered as one of the most important aspects responsible for the success of the software. The developers as well as the end users of the software have accepted maintainability as a significant characteristic due to its economic implications. Several subjective techniques have been developed in research to assess and predict maintainability but all have been unsuccessful to do it practically and most of them even fail to define it appropriately. The activity-based quality model is one of the techniques that have been found to be successful in defining maintainability. This model assesses maintainability in terms of average efforts required to maintain software but lacks quantitative aspect that has been further added by using Bayesian Network. In this paper, a comparison of the Bayesian approach and Fuzzy approach to deal with this model quantitatively has been done wherein; Fuzzy approach has been found to be better than Bayesian. Categories and Subject Descriptors D.2.9 [Software Engineering]: Management – software process models, software quality assurance. General Terms Management, Measurement. Keywords Maintainability, Activity-Based Quality Model, Software Quality, Appropriateness of comments, Regularity of implementation, Extent of Modules. 1. INTRODUCTION Quality is a complex and multidimensional concept. It is defined as “conformance to requirements” by Crosby (1979) and “fitness to use” by Juran (1970) [12]. According to David Garvin [10], quality can be described from five different perspectives. The transcendental view, describes quality as something that can be recognized but not defined. The user view defines quality as fitness for purpose. The manufacturing view explains quality as conformance to specification. The product view sees quality as tied to inherent characteristics of the product. The value-based view examines quality as a dependent variable on the amount a customer is willing to pay for it. Several different models of software product quality have been proposed [1,3,8,10,11,16]. These models explore various characteristics of software quality. These quality characteristics present in different models such as Boehm, McCall, FURPS, ISO9126, and Dromey have been shown in Table 1 [1,3,8,11,16]. It can be inferred from Table 1 that maintainability is one of the important characteristic that is being paid attention by almost all the models popular in research and practice [17]. Basically, it is an effort that is needed to make specific modifications such as corrections, improvements, or adaptations of software to environmental changes as well as changes in the requirements and functional specifications. Many subjective techniques are available to handle this important characteristic of quality but most of the existing models exhibit one of the following problems [5]: First, they do not decompose the attributes and criteria to a level of actual evaluation and analysis. Second, these models omit the basis of the required properties of the system. Third, existing models often use heterogeneous dimension and thus leads to inconsistency. The important point here is that a good model can help maintainers guide their efforts and provide them with much needed feedback. The desire for high maintainability is actually a desire for low maintenance efforts. Current approaches to assess and predict maintainability do not take into account the cost factor. In the present work, we use Fuzzy approach to assess and predict maintainability in term of cost factor i.e. average efforts required to make changes in the software. The remainder of this paper is organized as follows. Section 2 summarizes some of the models and approaches which are assessing or predicting quality of software. Section 3 introduces the proposed method to deal with quality especially maintainability of software. In Section 4, a comparison has been made between already available Bayesian approach and our developed Fuzzy approach to deal with maintainability of software. Table 1. Quality characteristics described by various models Quality Characteristic Boehm McCall FURPS ISO 9126 Dromey Functionality X X X Reliability X X X X X Usability X X Efficiency X X X X X Portability X X X X Maintainability X X X X X 2. RELATED WORK Various models and approaches are available in theory and research that present novel ideas to assess and predict quality and especially maintainability of the software. The related work is categorized into Metric-based approaches, Quality modeling, Activity-based quality model and Bayesian approach to deal with Activity-based quality model. 2.1 Metric Based Approaches Various popular metrics based methods are used to measure attributes of software systems that have been found to affect maintenance [2, 4]]. These methods use a set of well-known metrics like lines of code, Halstead volume [4], or McCabe’s ACM SIGSOFT Software Engineering Notes Page 1 May 2012 Volume 37 Number 3 DOI: 10.1145/180921.2180935 http://doi.acm.org/10.1145/180921.2180935