You are using a new version of the IGI Global website.
If you experience a problem, submit a ticket to
helpdesk@igi-global.com,
and continue your work on the old website.

To Support Customers in Easily and Affordably Obtaining Titles in Electronic Format
IGI Global is Now Offering a 50% Discount on ALL E-Books and E-Journals Ordered Directly Through IGI Global’s Online BookstoreAdditionally, Enjoy a 20% Discount on all Other Products and FormatsBrowse Titles

As Part of Our Efforts to Assist Customers with More Easily and Affordably Obtaining Titles in Electronic Format, IGI Global is Now Offering a 50% Discount on All E-Books and E-Journals Ordered Through IGI Global’s Online Bookstore*

To support customers with accessing online resources, IGI Global is offering a 50% discount on all e-book and e-journals. This opportunity is ideal for librarian customers convert previously acquired print holdings to electronic format at a 50% discount.

*The 50% discount is offered for all e-books and e-journals purchased on IGI Global’s Online Bookstore. E-books and e-journals are hosted on IGI Global’s InfoSci® platform and available for PDF and/or ePUB download on a perpetual or subscription basis. This discount cannot be combined with any other discount or promotional offer. Offer expires June 30, 2020.

To assist you during the COVID-19 pandemic, IGI Global will convert libraries previously acquired print holdings to electronic formats directly through our InfoSci® platform, ProQuest’s E-Book Central, or EBSCOhost at a 50% discount. Send us a list of IGI Global publications you would like to convert, and we’ll promptly facilitate the set-up and access.

IGI Global offers a rich volume of content related to treatment, mitigation, and emergency and disaster preparedness surrounding epidemics and pandemics such as COVID-19. All of these titles are available in electronic format at a 50% discount making them ideal resources for online learning environments.

IGI Global is now offering a new collection of InfoSci-Knowledge Solutions databases, which allow institutions to affordably acquire a diverse, rich collection of peer-reviewed e-books and scholarly e-journals. Ideal for subject librarians, these databases span major subject areas including business, computer science, education, and social sciences.

Create a Free IGI Global Library Account to Receive an Additional 5% Discount on All Purchases

Exclusive benefits include one-click shopping, flexible payment options, free COUNTER 5 reports and MARC records, and a 5% discount on single all titles, as well as the award-winning InfoSci®-Databases.

Abstract

Nature has always been a source of inspiration for human beings. Large numbers of complex optimization problems have been solved by the techniques inspired by nature. Software modularization is one of such complex problems that have been encountered by software engineers. It is the process of organizing modules of a software system into optimal clusters. In this chapter, some bio-inspired algorithms such as bat, artificial bee colony, black hole and firefly algorithm have been proposed for the cause of software modularization. The hybrid of these algorithms with crossover and mutation operators of the genetic algorithm has also been proposed. All the algorithms along with their hybrids are tested on seven benchmark open source software systems. It has been evaluated from the results thus obtained that the hybrid of these algorithms proved to optimize better than the existing genetic and hill-climbing approaches.

Introduction

Human beings are always fascinated by nature. They have always found inspiration from nature in solving complex research and engineering problems. It could be easily depicted from various new optimization algorithms that are bio-inspired. Genetic Algorithms (GA)(Goldberg, 2006), Bat algorithm (Bat)(Yang, 2010b),Artificial Bee Colony algorithm (Mala & Mohan)(Yan, Zhu, Zou, & Wang, 2012), Black Hole algorithm (BH)(Hatamlou, 2013), Firefly algorithm (Kononoff, Lehman, & Heinrichs; Yang, 2010a)are the names of few of them. GA has been inspired by Darwin’s theory of survival of the fittest bat algorithm has been inspired by the technique followed by bats to locate its prey in dark, ABC is an algorithm that has been inspired by swarm behavior of honey bees; BH has been inspired by the gravity of black holes in universe where gravitational force is so strong that even light can’t get escape and FF has been inspired by the flashing characteristics of fireflies to attract other fireflies. These algorithms are widely used for solving various complex optimization problems ranging from routing in wireless networks to image optimization.

In this paper, some of the bio-inspired algorithms have been used for modularization of software systems. Software modularization is the process of allocating modules to subsystems or clusters. This allocation should lead to efficient modularization of the software system concerned. It should be done in such a way that there should be minimum coupling and maximum cohesion among the subsystems and clusters thus generated. It is particularly useful to

•

Recover the modularization of the system when source code is the only means available to get information about the system.

•

Identify the best possible package to which classes of a java project should be allocated to its actual delivery.

•

Combine the classes that could be downloaded together.

Software modularization is particularly useful during the maintenance phase of the software development life cycle. Maintenance is the largest and most expensive phase of the software development lifecycle (IEEE Standard for Software Maintenance). During this phase, the software system undergoes continuous change and is enhanced for a number of reasons. It is generally accompanied by the turnover of the software engineers involved in its development. It ultimately leads to the decay of the original clustering of the modules of the system concerned. It is called software erosion. For the effective and efficient maintenance of the software system, it is important to re-identify the modularization of this system. It might be a difficult task, especially in the absence of original design documents.

In this proposed work, bio-inspired algorithms such as bat, ABC, BH, and FF have been used for solving the problem of software modularization. These algorithms work to find optimized results but might get stuck at local optima. Experiments have been conducted to use the hybrid combination of these algorithms with crossover and mutation operators of genetic algorithm for software module clustering. Adding these operators has an inherent advantage of adding randomization which saves these algorithms to get stuck at local optima. Although we observed good quality modularization but we recommend the resulting modularization to be approved by the experts. In other words, it could be used as guidance to the experts but could not replace them.

The rest of the chapter is organized as discussed here. The literature of the field of software modularization, as well as applications of bio-inspired algorithms, has been discussed. Further, a concept of search based software engineering has been discussed along with the skeleton of bio-inspired algorithms. Software modularization using these bio-inspired algorithms has been elaborated. The experimental setup which includes the information about the samples, encoding scheme and algorithmic parameters used has been given. Results are discussed and analyzed followed by the discussion about threats to the validity of this research work, conclusion, and future work.

Key Terms in this Chapter

Radius of Event Horizon: Sphere shaped boundary around the black hole where escape speed is equal to a speed of light. Nothing can escape once it enters this radius because nothing can have speed faster than the speed of light.

Graphviz: Graph Visualization Software is open source software initiated by AT&T Labs which is used for drawing graphs.