Everything about Search-based software engineering
Application of metaheuristic search techniques to software engineering
Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Search-based software engineeringA 5-minute orientation
- Skim a recent paper: How to Evaluate Solutions in Pareto-Based Search-Based Software Engineering: A Critical Review and Methodological GuidanceInfluential work since 2022
- Pick up a classic book: Semantic models for multimedia database searching and browsingThe most-reprinted book on the subject
- Read the landmark paper: Search-based software engineeringCited 672 times
- Go sideways: Genetic improvement (computer science)A closely related topic
- Go sideways: EvoSuiteA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Search-based software engineering
Search-based software engineering
Multi-Criteria Code Refactoring Using Search-Based Software Engineering
A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells Detection
A survey of many-objective optimisation in search-based software engineering
A systematic mapping study of search-based software engineering for software product lines
A Systematic Review of Interaction in Search-Based Software Engineering
The Weights Can Be Harmful: Pareto Search versus Weighted Search in Multi-objective Search-based Software Engineering
🆕 Influential since 2022
How to Evaluate Solutions in Pareto-Based Search-Based Software Engineering: A Critical Review and Methodological Guidance
A Systematic Literature Review on Robust Swarm Intelligence Algorithms in Search-Based Software Engineering
On the preferences of quality indicators for multi-objective search algorithms in search-based software engineering
Knowledge-enhanced software refinement: leveraging reinforcement learning for search-based quality engineering
A Machine Learning Python-Based Search Engine Optimization Audit Software
📚 Books worth reading
Semantic models for multimedia database searching and browsingShu-Ching Chen, Shu-Ching Chen · 2000
Elasticsearch in ActionRadu Gheorghe, Matthew Lee Hinman · 2015
Engineering human computer interaction and interactive systemsEHCI-DSVIS 2004 (2004 Hamburg, Germany) · 2005
Mastering Elasticsearch 5.x - Third EditionBharvi Dixit · 2017
Creating New Medical Ontologies for Image AnnotationLiana Stanescu · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Genetic improvement (computer science) In computer software development, genetic improvement is the use of optimisation and machine learning techniques, particularly search-based software engineering…
- EvoSuite EvoSuite is a tool that automatically generates unit tests for Java software. EvoSuite uses an evolutionary algorithm to generate JUnit tests. EvoSuite…
- Meta-optimization Meta-optimization from numerical optimization is the use of one optimization method to tune another optimization method. Meta-optimization is reported…
- Particle swarm optimization In computational science, particle swarm optimization (PSO) is a computational method that optimizes a problem by iteratively trying to improve a population…
- HyperNEAT Hypercube-based NEAT, or HyperNEAT, is a generative encoding that evolves artificial neural networks (ANNs) with the principles of the widely used NeuroEvolutio…
- Interactive evolutionary computation Interactive evolutionary computation (IEC) or aesthetic selection is a general term for methods of evolutionary computation that use human evaluation.…
- Neuroevolution Neuroevolution, or neuro-evolution, is a form of artificial intelligence that uses evolutionary algorithms to generate artificial neural networks (ANNs)…
- Speculative multithreading Thread Level Speculation (TLS), also known as Speculative Multi-threading, or Speculative Parallelization, is a technique to speculatively execute a section…