ALGORITHMIC DESIGN TO MITIGATE RISKS BY NEURO-FUZZY TECHNIQUES

The heart of research aims to develop an algorithmic paradigm for risk mitigation in software projects by using Neuro-Fuzzy techniques. We have identified the requirements for developing the prototype of required tool which will help in determining the risk level of the project. Various approaches of Artificial Intelligence have been discussed in detail for risk assessment and mitigation in past . The algorithm that has been designed can be implemented using MATLAB or Java Frame works. The system utilizes Fuzzy logic to build the fuzzy inference system which focuses on the production of the membership function which is used for the Fuzzification and Defuzzification process. The training of system is done by using back propagation and Bayesian regulation approach of the neural networks. Neuro-Fuzzy technique has been applied to analyze the risk for dealing with uncertainty and incomplete specifications. The performance can have better results for neuro fuzzy model if we use Bayesian regulation approach as compare to the Back propagation because of low prediction capabilities in Back


I. INTRODUCTION
Management of various risk factors is one of the most important part of project management .Because of high growth in internet market and technical advancement software professionals face various security threats.So it becomes important to take care of security concern while managing the software.Threat can be defined as any undesired event which has potential to harm the software system.A possibility of suffering from loss is termed as risk.The consequence of natural or man-made disasters to organizations can have adverse effects on organizations in terms of finance, in terms of organization image as well as its image .It can also effect organization relations with its clients and the required market.Statics indicates that three out of every ten organizations has been a victim of software disaster [1].So we can define Risk as a calculation of probability, extent of severity to hazards .While mitigating risk we can have various preventive measurements to lessen the risk likelihood and its impact on the software project .We require contingency plan for reducing risk if it becomes an outcome for a software project.Every organization has its primary goal to reduce security related risks in the software projects.The worst case disaster can be loss of customer data.When organizational techniques and technologies change very fast then risk mitigation framework must be applied on the system for the reduction of risk .So we require consistent adjustment of our software tool so that it can reflect all changes in the system.Even if assessment and mitigation of risks in software projects is a matter of great concern but unfortunately there are relatively few tools available to help project managers in identification and categorization of risk factors in order to develop effective strategies [2].To take care of the issue, we have gone through various AI (Artificial intelligence) techniques to reduce and assess the risks in the software projects i.e.Fuzzylogic, Neural networks, Particle Swarm Optimization, Genetic Algorithms and various evolutionary algorithms.After various studies and after comparisons of different techniques it has been found that to build risk mitigation model hybrid Neuro -Fuzzy approach will be the most preferred solution for the future.Neuro-Fuzzy systems work for risk assessment in two distinct stages.In the first phase which is also called learning phase the system acts like a neural network which has capability to learn its parameters in the offline mode .Then in the second stage i.e. execution stage the system will behave like a fuzzy logic system.Advantage of Neural Networks include accurate results but with high training time.Advantage of Fuzzy System includes Flexible and easy computation of results with vague or incomplete information.When we combine both techniques together we can achieve better results as compared when we use them separately.Merits of Neuro-Fuzzy includes reduced Training time as fuzzy system gives output which can be used for training program and it has the ability to approximate continuous non linear functions.Moreover, it has the ability to approximate continuous nonlinearfunctions.Division of the research has been done into various sections ,where section 1 introduces about the research aims, section 2 outputs the literature in past ,section 3 discusses the proposed algorithm ,section 4 describes the experimental analysis and tool prototype for risk mitigation and finally we conclude in the section 5 .

LITERATURESURVEY
In this section ,we have discussed various AI techniques and risk mitigation strategies used in the past where main focus is on the Neuro-FuzzyApproach.Artificial Intelligent applications can predict the risk in software projects by mainly focusing on the Disaster Recovery Planning.Recovery plan for disaster management can define and document commands for declaration and response for recovering from the disaster .Such plan can specify the team role and outside support for an organization in the case of disaster.Decision makers and staff communication can be controlled properly [1].Disaster recovery plan can have 8 major stages which are interrelated to each other and these can be as follows : • Proper organization of Team The Risk control is one of the most important issue while management of risks in software project .We need to analyze all risk factors which can further lead to software failure .The main task of risk management is to analyze the software risk and accordingly must take risk control actions effectively to minimize the great losses.After analysis of all risks we can further optimize the software projects .Particle swarm optimization technique can be used for the same [2].3-tuple fuzzy approach is applied to screen news products.If the information is incomplete and vague and the system is dynamically complex then in new product development we can use fuzzy linguistic approach with linguistic assessment .This method for testing new products is really advantageous as it considers the preferences of the customers.The proposed model in the research work is flexible to handle uncertain information.The model is based on canonical characteristic value.The 2-tuple model act as the parental ideology for the proposed model.We can get results by unifying the important weights and the average preferences .We can also include the average extent of ignoring information of criteria [3].New software development is inherently complex, uncertain in nature and can have risk in it .Risk Analysis and Mitigation can be considered as the most critical activity in NSD.The more effective tools can be provided by giving a fuzzy risk impactRating.We should be able to determine the risk exposure level for a new system development project.FLRAM process top design Evaluation Framework can be considered [4].For risks associated with software project we must consider the following issues i.e.Risk Mitigation, Risk planning and Risk monitoring .Risk mitigation is most crucial for software projects and is our primary concern.Fuzzy logic can easily incorporate results from incomplete information.This approach is very useful as it takes into consideration the membership function which determines the degree oftruth [3,4].An early warning system can be used by applying fuzzy logic approach.Most of software projects do get failed if risk in the projects are identified late in the system .So for managing risks early in software life cycle an early warning system is designed based on fuzzy logic software metrics.It can be used to handle the vague information and helps in resolving all conflicts in an uncertain environment while assessing the risks.The system should be able to detect the risks at a very early stage by utilizing the quantifiableaspects of the system [5].In Risk Mitigation, we are never provided with all the information to mitigate the risks , and as Fuzzy logic can work upon incomplete information and still guide to a particular result.Therefore Fuzzy Logic can be very much useful in thisscenario.NeuralNetworks which are made up of a large number of interconnected elements by processing information dynamically Artificial Neural networks have been used in past for processing the highly dynamic software information Where we utilize a computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs [6].In neural network we need to simulate lots of interconnected brain cells for recognizing patterns and to make decisions .Neural network adapts and learns by itself like a human brain .A complete and usable neural network development process model can be utilized to satisfy big critical application so that development risk can be minimized .Artificial neural networks can be developed by using a training program with the required information for the network .Next thing that should be done is verification of the learned information.Software quality can also be classified with the help of genetic programming by reducing risks in the project [7].To deliver the software project in allotted time and budget we can utilize decision tree with genetic programming with respect to quality of software by minimizing Modified Expected Cost Misclassification and for optimization of the number of predicted fault-prone modules such that it is equal to the number of modules which can be inspected by the allocated resources.The main aim of providing the best result in limited and finite resource here risk based group is divided into two parts that is fault prone (FP) and not fault prone (NFP) and Type I and Type II error is also discus that is Type I error occurs when a nfp module is misclassified as fp, whereas a Type II error occurs when a fp module is misclassified as nfp Thus using Genetic Programming (GP) with the proposed model is achieved a good performance and optimizing the quality of software by telling us whether the software is fault prone or not faultprone.
Genetic algorithms (GA) can be used to solve many problems in an optimal fashion and it follow the approach to identify and resolve conflicts in this we need to have initial project schedule .Various activities come under this project schedule which are as follows : Here initial activity plan is taken as the initial GA population and this technique initially evaluates each activity against a rule set which is pre-defined for the system and then Each activity is compared with every other activity for possible conflicts in resources, dates, locations etc.All of the conflicts for each activity against every other activity are recorded in a specific data structure.At the completion of first evaluation, conflict identified are recorded into that given data structure and the process of selection of candidates for reproduction starts.The number of conflicts of an activity is treated as the fitness value of that activity (chromosome).Lesser number of conflicts shows higher fitness and the high number of conflicts depicts the lower fitness.Chromosomes go under the genetic reproduction operations.First of all, the chromosomes are selected probabilistically on the basis of their fitness.Roulette-Wheel selection method of selection is used here.Crossover operator is applied over the selected chromosomes.Uniform crossover is used for this purpose.In this type of crossover, each position of the new chromosome is selected randomly mutation.Every chromosome is mutated directly proportional to number of conflicts it has with other chromosomes.Point mutation is used to fulfill this task.In point mutation, number of mutation points are selected for newly created chromosomes according to its fitness value.Then each selected point is changed with randomly selected value from the domain of values for that point.New population is selected from the parent and the newly created child population.This population will go for the next generation of genetic algorithm and with these maximum activity conflict will be minimum and moreover with property of genetic algorithm a good project management activity is performed which can effectively foresee these conflicts and resolve them in an optimal fashion.Moreover, due to this it is easily customizable and use because in this paper it is observe that if the change of certain benchmarks such as number of activities , duration and resources affected the performance of overall proposed technique ornot [8].Using PSOas a technique provides with a timely software i.e., within the time and budget.GeneticAlgorithms have also been used in the past which are used to find the exact or approximate solution for optimization of solution.Genetic algorithms are categorized as global search heuristics [8].Such algorithms are more effective and secure than conventional AI techniques.When the state space gets large or gets multi model then it provides more benefits over the conventional optimization techniques i.e. breath first or depth first or linear programming.Next came up evolutionary algorithms in the picture which were able to solve problem in optimized fashion and solve the task by natural evolution .Evolutionaryapproaches can also be used that further utilizes the computation model of evolutionary processes as the main elements in the implementation of problem solving applications.Fitness of individual elements is the main concern in such approaches.Three methodologies that are mapped with evolutionary approaches: • "Evolutionary programming" in 1966 by Fogel et al.
• "Evolution strategies" by Rechenberg in 1973 • "Genetic algorithms" and "Genetic programming" by Holland in1975 The differences include among different ways of representation for individual entity, Methods for selection ,various forms of operators and performance evaluation criteria.Evolutionary algorithms helps in solving the most complex problems ,optimize their solution .Evolutionary Algorithms is one of the flexible algorithm on optimizing a task .Evolutionary Algorithms can solve problem that are hard to solve like travelling salesman problem or the knapsack problem not only this it can also help in financial application like constrained portfolio selection, time series prediction.They need only little problem specific knowledge and they can be applied on broad range of problems.Evolutionary Algorithms need only Target (Fitness) function for a given problem which is used for optimization.Various Evolutionary Algorithms method have been discussed in past like Genetic Algorithms (GA), Genetic Programming (GP), Evolutionary Strategies (ES), Evolutionary Programming (EP) and Learning Classifier Systems (LCS) [9].Portfolio selection is one of the financial applications, since it is a parameter optimization task and the fitness function can be easily calculated from the achieved return, the risk and additional constraints, which are to be met.For this type of problem GA or ES methods are the most suited and another problem is solved using GA or EA that is time series prediction where GP tree is used and to increase the predictive power of EA method a bagging procedure .EA method can be applied on any kind of financial optimization problem.Bayesian network model has been used in past in combination with particle swarm optimization [10].Estimation that either overestimated or underestimated both is very critical.In case of overestimating time and effort (or budget), due to a presumed lack of resources or because the projected completion is too late, can convince management not to approve projects that may otherwise contribute to the organization.On the other hand, underestimation may result in approval of projects that will fail to deliver the expected product within the time and budget available.The accuracy of estimation can be enhanced by using Bayesian network approach based on PSO [10].Steps followed for estimation were data collection, division of data, finding cost drivers, normalization of data, development of algorithm and hence formation of amodel.Software effort estimation model can be designed which adopts a fuzzy inference method to provide a solution to fit the uncertain and vague properties of software effort drivers [11].Fuzzy neural network approach can be used for embedding Artificial Neural Network into Fuzzy Inference processes in order to derive the software effort estimates.Artificial Neural Network is utilized to determine the significant fuzzy rules in fuzzy inference process.The Neuro-fuzzy systems for a decade (2002-2012) stating applications that has been grouped into 10 different categories in past [12].The categories are chosen such as student modeling system, medical system, economic system, electrical and electronics system, traffic control, image processing and feature extraction, manufacturing and system modeling, forecasting and predictions.The existing ways to develop ANN are waterfall model or spiral model or any other model that focuses on every phase of software development.This in turn, reduces the risks and hence risk mitigation is achieved through AI technique.Particle SwarmOptimization which is computationally used to optimize the problem for iteratively improvement of solution with given measure.Adaptive neuro fuzzy systems have been implemented in the past for work rate calculation via heart rate.There are 3 ways to calculate work rate-first by assessing energy consumption, second by oxygen consumption and thirdly by monitoring those variables that are directly proportional to oxygen consumption such as heart rate.This model categorized work rate on 4 basis namely very light, light, moderate, heavy [13].First the data was collected through step test and treadmill test without giving strain to high cardiac strain.Later ANFIS classifier model developed using Fuzzy logic toolbox, in MATLAB combining four categories together, fuzzy rules were based on Gaussian curve membershipfunction.Dynamic Fuzzy neural networks which were more adaptable to the comingchanges were used in the past on the basis of defined rules by incremental learning [14].Case1: Rule already exists and solves the problem, then no modification is required in the set of rules.Case2: Rule don't exist and modifications are made in the algorithm.Neuro-fuzzy model was also used to describe the grain moisture charges as a function of brightness and also it used an image capturing device [15].The Model was trained with Back propagation Algorithm.The If then Rules were built from the human process operator which acted as the membership function.The model used Adaptive network based fuzzy inference system.The advantages include reduced training time as Feed formed network is used to search fuzzy Decision Rules.Neuro Fuzzy classifiers have been used to lower down the complexity of internet flows also [16] .It used both privacy thread and usage police as well as the Quality of service and NeuroFuzzy machine learning specially in Min-Max networks trained by the Parc algorithm.This technique is applied when there is possible to describe the individual flow and also when packet payload are encrypted and the main purpose of min max algorithm is that complexity is less than the other accurate models .The main aim of such model was to build an intelligent platform to build the quality of service mechanisms and to implement the automatic diagnostic procedure for network.Neuro Fuzzy Expert System (NFES) [17] can also be used as an enhancement to the Neuro Fuzzy Performance Evaluation Model with expert system components.Software performance is dependent on the quality parameters which helped to meet the requirement of end user .Neuro Fuzzy Expert System was introduced for distribution software system architecture to avoid poor quality.There were many limitations in the old system which this system tried to overcome like the system lacks knowledge processing ability and the model accept values into the evaluation parameters, processes the values and produces output without storing any of the input .NFES evaluated the system at architectural level due to which good performance of software was delivered and it is obtained by providing a threshold value which is a variable decided by engineers with respect to the organization and threshold value is optional thus using of neural network engine is now trained with different varying values for Learning Rate (LR) and Initial Synaptic Weight(ISW) .The Neuro fuzzy model for time Estimation software tool used MATLAB 7.10 with advantages that includes Robust tochange [18]

PROPOSED SOLUTION FOR RISK MITIGATION BY NEURO-FUZZY ARCHITECTURE
The proposed Solution for predicting the risk is given by a model which comprises of an algorithm which is divided into two parts.The first part consist of production of membership function for the fuzzy inference system and the fuzzification and defuzzification process.The main task of first part is production of If-Then rules which are used in the production of fuzzy inference system.The second part focuses on the output of part 1 and is then used to train the program so as to apply ANN technique.The neural network gives learning ability to the system and provides a knowledge base for the system.We will use the Neural networks to optimize the parameter to provide the learning ability.Fuzzy system is used to represent knowledge.

Algorithm Proposed for Risk Prediction Model
Part-A 1) Start of by making the fuzzy inference system a.Make if then Rules which will be used for Fuzzification(The Fuzzy if then rules can be made by using the MATLAB Fuzzy ToolBox or Java Frameworks) b.Consider Software Factors.For example: • Faulty/changing Requirements

EXPERIMENTAL ANALYSIS
In experimental analysis first the output of fuzzy set is taken as training data to train the neural network and tool for risk reduction can be generated by using MATLAB or Java Framework.So analysis can be done in two steps which are as follows : • Source of trainingdata The output of fuzzy set is used as training data to train neural network.

• ToolDevelopment
The tool can be generated through MATLAB/ JAVA Frameworks or any other advance platform.
Proposed User Interface For the tool for risk reduction is given as follows in the figure 1.

CONCLUSIONS
As we require risks of software project should be predicted early in life cycle of software then for developing safe and secure system we require Neuro-Fuzzy approach .Once we create Fuzzy inference system then it can be trained by Bayesian regulation algorithm as its more efficient than back propagation algorithm .We have created a prototype for the user interface of the required tool for risk mitigation process.In future , we can design the program based on proposed algorithm and can apply it on several software projects to check its efficiency and accuracy for risk mitigation in software projects .

Fig: Proposed UI for the tool Figure 1 :
Fig: Proposed UI for the tool Figure 1 : Proposed UI for risk mitigation tool Next process to be applied is rule evaluation The if then rules made in the beginning will now be evaluated after use creation of input output fuzzy sets and Membership Function Example Format.If(Any Software Factor-valuetrue/false) And/or If(…)… 4) Apply Defuzzification process Defuzzification is applied to calculate the output after applying if-then-Rules A numerical value is then generated as the output of defuzzification process • If value is True -value is 1 • If value is false -value is 0 Calculate average and calculate the solution with respect to the average value.Part-B Now after following Part-A the fuzzy system is established with input parameter , if then Rules and output Neural Networks is applied for providing the training Program Which gives learning ability to the system and can provide Knowledge Base .Any Neural Networks approach can be applied.a.Back propagation Limitation : low prediction capability b.Bayesian Regulation more advanced approach for prediction .After Part-A, apply Bayesian regulation approach .