Application of Artificial Immune Systems Paradigm for Developing Software Fault Prediction Models

Application of Artificial Immune Systems Paradigm for Developing Software Fault Prediction Models

Cagatay Catal (Information Technologies Institute, Turkey) and Soumya Banerjee (Birla Institute of Technology, International Center, Mauritius)
DOI: 10.4018/978-1-61520-809-8.ch005
OnDemand PDF Download:


Artificial Immune Systems, a biologically inspired computing paradigm such as Artificial Neural Networks, Genetic Algorithms, and Swarm Intelligence, embody the principles and advantages of vertebrate immune systems. It has been applied to solve several complex problems in different areas such as data mining, computer security, robotics, aircraft control, scheduling, optimization, and pattern recognition. There is an increasing interest in the use of this paradigm and they are widely used in conjunction with other methods such as Artificial Neural Networks, Swarm Intelligence and Fuzzy Logic. In this chapter, we demonstrate the procedure for applying this paradigm and bio-inspired algorithm for developing software fault prediction models. The fault prediction unit is to identify the modules, which are likely to contain the faults at the next release in a large software system. Software metrics and fault data belonging to a previous software version are used to build the model. Fault-prone modules of the next release are predicted by using this model and current software metrics. From machine learning perspective, this type of modeling approach is called supervised learning. A sample fault dataset is used to show the elaborated approach of working of Artificial Immune Recognition Systems (AIRS).
Chapter Preview

1. Introduction

Today’s software systems are becoming more and more complex and their lines of codes will reach to billions from millions of lines of code in near future. Therefore, innovative Validation & Verification (V&V) techniques are required more than ever to manage the complexity of current and future systems. Software Engineering Institute (SEI) published a report in 2006 and proposed a research agenda for U.S. Department of Defense about ultra-large-scale systems which will likely to have billions of lines of code. These kind of systems and large scale systems pose extraordinary challenges in Validation and Verification area and this chapter’s subject, software fault prediction, is a proven quality assurance activity in achieving highly reliable systems.

Artificial Immune Systems (AIS) embody the principles and advantages of vertebrate immune systems. They are used for intrusion detection, classification, optimization, clustering and search problems. Recently, there is an increasing interest in the use of AIS paradigm to solve complex problems. In this chapter, a popular AIS based classification algorithm, AIRS, is explored on a software fault prediction dataset. The scope of this chapter is shown in Figure 1 and the yellow point which has “software fault prediction” label shows that this model is the intersection of AIS paradigm and a software engineering problem.

Figure 1.

The scope of this chapter

Immune system has two mechanisms that interact with each other. The first one is the innate immune system and there is no need being interacted with the relevant pathogen in the past for this type of mechanism. The second one is the adaptive immune system that enhances its ability in order to detect more pathogens after the interaction. Lymphocytes are classified as B-cells and T-cells. Each lymphocyte can bind to a particular invader which is known as antigens. The similarity degree between B-cell and antigen is called affinity. If the antigen is detected by B-cell, B-cell is cloned with a process called “clonal expansion”. These clones are mutated using “somatic hypermutation process” according to the affinity level. Some of these clones are differentiated into B memory cells in order to respond rapidly for the next attack from same invader and therefore immune system is said to have memory feature. Best matching clones with antigens survive and this process is known as “clonal selection”.

The rest of this chapter is organized as follows: Section 2 describes the role of Artificial Immune System in software engineering domain along with its background and contemporary works. Section 3 elaborates the basic AIRS algorithm for software fault prediction followed by sequential diagrammatic representation of the algorithm in 3.1. Case study example is presented to validate the algorithm in section 4 and section 4.1. Section 5 gives conclusion.


2. Role Of Artificial Immune System In Software Engineering Domain: Motivation And Examples

Distributed control, learning by experience, adaptation and parallel processing are main features of immune systems. These features make the AIS paradigm very powerful for solving complex problems and we developed several software fault prediction models based on AIS paradigm (Catal & Diri, 2009b, 2008, 2007a, 2007b). A systematic review of software fault prediction studies was published by Catal and Diri (2009a) for readers who want to see the current trends in this area.

Complete Chapter List

Search this Book: