Программная инженерия на основе поиска
Программная инженерия на основе поиска (search-based systems engineering, SBSE) или поисковая инженерия программного обеспечения — область исследования, посвященная применению методов поисковой оптимизации для решения проблем программной инженерии.
История
В начале 2000-х исследователи применяли SBSE в ряде направлений программной инженерии, включая анализ требований, прогнозное моделирование, проектирование, тестирование и рефакторинг, были разработаны многочисленные методы поисковой оптимизации.
Нет причин, по которым SBSE должна была бы опираться только на эволюционные вычисления, можно использовать и другие алгоритмы оптимизации, и они действительно используются. Например, в июне 2011 года в 587 из 830 публикаций по тематике SBSE, собранных в репозитории SBSE, использовался по крайней мере один метод оптимизации. В 9% статей применялись какие-либо эволюционные алгоритмы, в 45,5% – генетические алгоритмы, в 13,5% – генетическое программирование, в 0,6% – эволюционные стратегии, в 1,8% – метод роя частиц, в 1,4% – алгоритмы оценки распределений и в 0,8% – рассеянный поиск. Однако эволюционные вычисления использовались в 71% всех статей по тематике SBSE, и это единственный метод оптимизации, применимый в любом направлении инженерии ПО.
Ссылки
- Optimising Existing Software with Genetic Programming - с помощью генетических алгоритмов удалось ускорить крупную и сложную программную систему (50 тысяч строк кода) в 70 раз.
- But Why Study Search-based SE?