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 algorithms 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 computation to optimize the design of artifacts and processes from an astonishingly wide variety of general engineering disciplines. 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, including 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 algorithms 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: evolutionary 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 optimization technique to have been applied to every software engineering application area.[12]
Software Engineering Meets Evolutionary Computation -Usman Ali Soft Engr Haji Shah
Categories:
Usman Ali (Ali Sameer Singer) Soft Engr
0 comments:
Post a Comment