Abstract

Software maintenance is a process of modifying existing operational software while leaving its primary functions intact. Software maintenance encompasses a broad range of activates, like error correction, enhancement of capabilities, deletion of obsolete capabilities and optimization.sofwtare maintainability assessment is major issue these days. producing software that is easy to maintain may save large costs in industries. the maintenance of existing software can account for 70% of the total efforts putin application development[Pres05].the value of software can be enhanced by meeting additional requirements, making it easier to use, improving efficiency and employing newer technologies. this paper discusses various issues and challenges, related with the maintainability assessment of software systems. The present work proposes a fuzzy logic based approach for quantification of maintainability of software system based on combined effect of four major aspects of software. i.e average number of live variables ,average life span of variables, average cyclomatic complexity and the comment ratio. Classroom projects are considered to estimate and validate the proposed maintainability model. Keyword: Cylomatic complexity, comment ratio, maintainability, triangular fuzzy number 1. METRICS FOR MAINTAINABILITY ASSESSMENT Researcher have tried to quantify maintainability in different types of measures[12,13,14].here we consider four major aspects of software to assess maintainability,i.e average number of live variables, average life span of variables, average cyclomatic complexity and comment ratio. a) AVERAGE NUMBER OF LIVE VARIABLES(ALV): a variable is live at a particular statement only if a certain number of statements reference it before or after that statement. the average number of live variable is the sum of the count of live variables divided by the count of executable statements. the higher, the average number of live variables, the more difficult it would be to develop and to maintain the software. b) THE AVERAGE LIFE SPAN OF VARIABLES(ALS): The life span of a variable is defined as the number of statements between two successive references of the same variable. The average life span of variable is the Ratio of the sum of life spans to number of variables. C) COMMENT RATIO(CR): The comment ratio is defined as CR=(S+C)/C------------------(1) Where S denotes total line of code C represents total number of comment lines. International Journal of Engineering Trends and Technology (IJETT) – Volume 10 Number 1 Apr 2014 ISSN: 2231-5381 http://www.ijettjournal.org Page 9 A lower comment ratio means better readability and the better maintainability. D) AVERAGE CYCLOMATIC COMPLEXITY (ACC): The average cyclomatic complexity is defined as the average cyclomatic complexity of all modules, where cyclomatic complexity is defined as V=e-n+2p----------------------(2) Where e is number of edges in a program flow graph,n is the number of nodes, and p is the number of connected Components. Maintainability of software declines with increasing average cyclomatic complexity. 2. FUZZY SET THEORY FOR MAINTAINABILITY: Recently many researchers have proposed some integrated models for maintainability measurement, which leave significant room for further improvements. here we proposed a methodology to improve the maintainability metrics system based on the fuzzy set theory.ALV,ALS,ACC and CR are classified in four levels of complexity i.e low, medium high and very high and corresponding weights are then assigned for each. The complexity levels and their corresponding weights for ALV,ALS ACC and CRR are described in table 1 and 2 TABLE1: COMPLEXITY AND WEIGHTS FOR ALV ALV Complexity weight 0-2 Low W1 2-5 Medium W2 5-8 High W3 8 or more Very High W4 TABLE2: COMPLEXITY AND WEIGHT FOR ALS ALS complexity Weight 0-20 Low W1 20-150 Medium W2 150-400 High W3 400 or more Very high W4 TABLE4: COMPLEXITY AND WEIGHT FOR ACC ACC complexity Weight 0-5 Low W1 5-13 Medium W2 13-18 High W3 18 or more Very high W4 TABLE5: COMPLEXITY AND WEIGHT FOR CR ALS complexity Weight 0-4 Low W1 4-8 Medium W2 8-12 High W3 12 or more Very high W4 The set w1,w2,w3 and w4 may be different for program in different languages . 3. FUZZIFICATION: The complexity attributes low, medium and high for the four metrics ALV,ALS,ACC,and CR are taken as triangular fuzzy number(TFN).membership functions are evaluated using complexity and coefficient matrices. fuzzy pictorial representation of TFNs for ALV,ALS ACC and CR are shown in Figure: Fig1.Fuzzy Pictorial Representation of ALV International Journal of Engineering Trends and Technology (IJETT) – Volume 10 Number 1 Apr 2014 ISSN: 2231-5381 http://www.ijettjournal.org Page 10 Fig2.Fuzzy Pictorial Representation of ALS Fig3.Fuzzy Pictorial Representation of ACC Fig4.Fuzzy Pictorial Representation of CR 4. Defuzzification: Defuzzification process is applied to evaluate crisp value of maintainability factors for ALV,ALS,ACC and CRR.Ralv Racc and Rcr are used to represent corresponding factors of maintainability for ALV,ALS,ACC and CR repectively.Defuzzification rules are defined in the following equations.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call