Software Engineering Meets Evolutionary Computation -Usman Ali Soft Engr Haji Shah

Software evolves. This fact was recognized early in the history of software engineering.[1] Although the term “software evolution” has come to refer to the process by which successful software installations continually adapt to cater to the changing requirements and environments in which they operate, this is a figurative allusion to Darwinian evolution, not a specifically technical term. -Usman Ali Soft Engr

From Relational Databases to Riak NoSQL for High Availability and Scale Migrating Your Application to the Cloud eKit Gartner Magic Quadrant for Application Performance Monitoring Comparing NoSQL Databases for Real-Time Bidding NoSQL Benchmark: Comparing Key-Value Store Databases
Independently, an entire computer science community has developed that uses the term evolutionary computation with a specifically technical meaning: the study of algo­rithms that incorporate aspects of fitness-guided selection to search a space of candidate solutions for those well-adapted to solving a specific problem. This community has its own conferences and journals that constitute a considerable body of knowledge concerning the best way to develop and apply evolution as a driver for innovation and adaption in an automated metaheuristic optimization process.

Computer scientists have used evolutionary computa­tion to optimize the design of artifacts and processes from an astonishingly wide variety of general engineering disci­plines. However, perhaps surprisingly, until the past 10 years, comparatively little work delved into the application of evolutionary computation (and other related search-based optimization) techniques to software engineering. This was the motivation for the foundation of the field now known as search-based software engineering, which focuses on the application of search-based optimization techniques to problems in software engineering.

In the past decade, researchers have applied SBSE to a wide range of software engineering topics, includ­ing requirements,[2,3] estimation and prediction,[4] design,[5] testing,[6-9] and refactoring.[10,11] Numerous search-based optimization techniques have been used, with a recent comprehensive survey reporting 15 different techniques. -Usman Ali Haji Shah, Attock

There is no reason why SBSE must be concerned solely with evolutionary computation; other optimization al­gorithms can and have been used. For example, in the 830 papers in the SBSE repository as of June 2011, 587 use one or more optimization techniques. The percentages of papers using each technique are as follows: evolution­ary algorithms (no specific style mentioned), 9.0 percent; genetic algorithms, 45.5 percent; genetic programming, 13.5 percent; evolution strategies, 0.6 percent; particle swarm optimization, 1.8 percent; estimation of distribution algorithms, 1.4 percent; and scatter search, 0.8 percent. However, evolutionary computation has been used in 71 percent of all papers on SBSE, and it is the only optimi­zation technique to have been applied to every software engineering application area.[12]

0 comments:

Post a Comment

 

Featured Posts

Featured Posts

Featured Posts