International Journal of Computer Applications (0975 – 8887) Volume 90 – No 7, March 2014 1 Design of a Reliability Model under Different Fault based Parameters Yukti Mehta Student, M.Tech ITM University Gurgaon-122001 Aman Jatain Assistant Professor, CSE & IT Department ITM University Gurgaon-122001 ABSTRACT Software fault analysis is on major vector adopted by different researchers to analyze the software reliability. But most of the author taken the fault individually as the fault criticality or the fault count. But in this presented work we have considered all aspects of software faults i.e. fault count, fault criticality, fault frequency, associatively between faults. In this work a three level structure is been defined to perform the fault based analysis. At first level, individual fault and fault criticality is analyzed where as in second level fault-module associatively and fault-fault associatively is discussed. At third level, the complexity of the module will be identified. Finally, all factors will be combined to identify the overall complexity and severity of the module and the system. As the work is based on all aspects of faults as well as metric based complexity, so that high level reliability and accuracy is expected from the system. Keywords Software Fault Criticality; Fault-Fault Associatively; Fault- Module Associatively 1. INTRODUCTION Software development process is not only about to deliver software but also to deliver a quality product. There are number of different aspects that represent the software quality according to the view point of different stakeholders. But the main consideration is given to the end user for which the software product is developed. The reliability vector is the foremost requirement for end user to accept the product as a quality product. Software reliability itself is not the single characteristics; it is itself a vast term defined under different parameters. The key terms associated with the software reliability is the software fault. Software fault itself is a wide term defined under different aspects. It can be as small as a warning or it can be as critical as a software failure. There are number of number of existing models that work under the software fault analysis [1] [2]. Some of the factors considered by different reliability models under fault consideration are shown in figure 1. The fault criticality is defined as the type of fault considered by for a software project. Fault criticality can be categorized as a bug, error or the failure. The bug is the fault type that occurs in a software system but there is no such sequence or the rule about the generation of the bug again and again. Bug is not occurred frequently that can occur because of some external reference such as memory requirement, platform error, dependency issue etc. The error is the software fault that occurs frequently in a software module. As the module will be executed, the fault in that software module disturbs the execution flow by breaking the execution process or some process drop. The most critical fault type is the software failure, as the failure occur, the complete system stop working and the software crash can occur. This kind of fault is more destructive [3] [4]. Figure 1. Software Reliability Constraints Another consideration associated with software fault analysis is the fault frequency. The frequency defines the number of times the fault occurs in a particular time interval. Fault frequency is also the parameter to decide the fault criticality. A fault or error becomes the failure, if the frequency of the software fault increases. Another associated feature of software fault is the fault position analysis. When the fault occur in the execution process, in such case the position of fault occurrence also matter. If the fault position is in the beginning, the fault criticality is less whereas if the fault occurs in the later stages, the criticality of the fault is higher [6] [7]. Fault Module analysis is another vector that defines the fault criticality. The faulty module is having the higher importance while deciding the software reliability. Software Impact Analysis is another vector that basically defines the consequences when a software fault occurs in a software system. If the fault gives an error message but process normally, it can be ignored and less critical but if the error gives the system restart or the data loss it is more critical. Durability is another vector defined with fault analysis. Durability is about to identify the existence time of the error in a software system. Higher the time, the error stays in the system, more critical the error will be. The last consideration is about to identify the fault derivation analysis. It means is Software Reliability Software Fault Parameters Fault Criticality Analysis Fault Frequency Analysis Fault Position Analysis Fault Impact Analysis Fault Durability Analysis Fault Derivation Analysis