A survey of software design techniques
IEEE Transactions on Software Engineering
Future paths for integer programming and links to artificial intelligence
Computers and Operations Research - Special issue: Applications of integer programming
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Surveying current research in object-oriented design
Communications of the ACM
Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Modern heuristic techniques for combinatorial problems
Modern heuristic techniques for combinatorial problems
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
An introduction to genetic algorithms
An introduction to genetic algorithms
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Automated program flaw finding using simulated annealing
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Software architecture in practice
Software architecture in practice
Simulated annealing and genetic algorithms for optimal regression testing
Journal of Software Maintenance: Research and Practice
Optimizing for reduced code space using genetic algorithms
Proceedings of the ACM SIGPLAN 1999 workshop on Languages, compilers, and tools for embedded systems
Exploring the relationship between design measures and software quality in object-oriented systems
Journal of Systems and Software
A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
Genetic Algorithms and Grouping Problems
Genetic Algorithms and Grouping Problems
Evolving good hierarchical decompositions of complex systems
Journal of Systems Architecture: the EUROMICRO Journal - Special issue on evolutionary computing
Automatic Re-engineering of Software Using Genetic Programming
Automatic Re-engineering of Software Using Genetic Programming
Search based reverse engineering
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Genetic Algorithm and Graph Partitioning
IEEE Transactions on Computers
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
A Representation for the Adaptive Generation of Simple Sequential Programs
Proceedings of the 1st International Conference on Genetic Algorithms
Proceedings of the 5th International Conference on Genetic Algorithms
GAPS: A Compiler Framework for Genetic Algorithm (GA) Optimised Parallelisation
HPCN Europe 1998 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
Genetic Algorithms for Protocol Validation
PPSN IV Proceedings of the 4th International Conference on Parallel Problem Solving from Nature
Using Heuristic Search Techniques To Extract Design Abstractions From Source Code
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
A New Representation And Crossover Operator For Search-based Optimization Of Software Modularization
GECCO '02 Proceedings of the Genetic and Evolutionary Computation Conference
Using Genetic Programming to Determine Software Quality
Proceedings of the Twelfth International Florida Artificial Intelligence Research Society Conference
Short Notes on the Schema Theorem and the Building Block Hypothesis in Genetic Algorithms
EP '98 Proceedings of the 7th International Conference on Evolutionary Programming VII
Software Test Data Generation Using the Chaining Approach
Proceedings of the IEEE International Test Conference on Driving Down the Cost of Test
Automatic Parallelization of Arbitrary Programs
Proceedings of the Second European Workshop on Genetic Programming
Solving Graph Partitioning Problem Using Genetic Algorithms
MWSCAS '98 Proceedings of the 1998 Midwest Symposium on Systems and Circuits
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
Hypothesis-Based Concept Assignment to Support Software Maintenance
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Can Metrics Help to Bridge the Gap Between the Improvement of OO Design Quality and Its Automation?
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Exploring Cost and Reliability Tradeoffs in Architectural Alternatives Using a Genetic Algorithm
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Software Design
Moving to Smaller Libraries via Clustering and Genetic Algorithms
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Combining Software Quality Predictive Models: An Evolutionary Approach
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Searching for a Solution: Engineering Tradeoffs and the Evolution of Provably Secure Protocols
SP '00 Proceedings of the 2000 IEEE Symposium on Security and Privacy
A heuristic search approach to solving the software clustering problem
A heuristic search approach to solving the software clustering problem
Generating Multiple Diverse Software Versions with Genetic Programming
EUROMICRO '98 Proceedings of the 24th Conference on EUROMICRO - Volume 1
A Genetic Algorithm for Scheduling Tasks in a Real-Time Distributed System
EUROMICRO '98 Proceedings of the 24th Conference on EUROMICRO - Volume 2
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
Augmenting Simulated Annealing to Build Interaction Test Suites
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
IEEE Transactions on Software Engineering
Getting Results from Search-Based Approaches to Software Engineering
Proceedings of the 26th International Conference on Software Engineering
Metrics Are Fitness Functions Too
METRICS '04 Proceedings of the Software Metrics, 10th International Symposium
Evolving Transformation Sequences using Genetic Algorithms
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Service-Oriented Computing: Key Concepts and Principles
IEEE Internet Computing
An empirical study of the robustness of two module clustering fitness functions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based improvement of subsystem decompositions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
An approach for QoS-aware service composition based on genetic algorithms
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
A language-independent software renovation framework
Journal of Systems and Software - Special issue: Software reverse engineering
QoS-Aware Replanning of Composite Web Services
ICWS '05 Proceedings of the IEEE International Conference on Web Services
Search-Based Amorphous Slicing
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
An Ant Colony Optimization Approach to Test Sequence Generation for Statebased Software Testin
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Search-Based Software Maintenance
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Simulated annealing for improving software quality prediction
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Single and multi-objective genetic operators in object-oriented conceptual software design
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Allowing Overlapping Boundaries in Source Code using a Search Based Approach to Concept Binding
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
An Evolutionary Approach to Software Modularity Analysis
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
Pareto efficient multi-objective test case selection
Proceedings of the 2007 international symposium on Software testing and analysis
Pareto optimal search based refactoring at the design level
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Getting the most from search-based refactoring
Proceedings of the 9th annual conference on Genetic and evolutionary computation
The multi-objective next release problem
Proceedings of the 9th annual conference on Genetic and evolutionary computation
Proceedings of the 9th annual conference on Genetic and evolutionary computation
On the evaluation of the Bunch search-based software modularization algorithm
Soft Computing - A Fusion of Foundations, Methodologies and Applications
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Automatic Generation of Floating-Point Test Data
IEEE Transactions on Software Engineering
A search-based approach for dynamically re-packaging downloadable applications
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
An overview of evolutionary algorithms in multiobjective optimization
Evolutionary Computation
A tabu search algorithm for structural software testing
Computers and Operations Research
Search-based refactoring for software maintenance
Journal of Systems and Software
Avida-MDE: a digital evolution approach to generating models of adaptive software behavior
Proceedings of the 10th annual conference on Genetic and evolutionary computation
Locating dependence structures using search-based slicing
Information and Software Technology
Search-based refactoring: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Search Based Software Engineering [SBSE]
Search Based Requirements Optimisation: Existing Work and Challenges
REFSQ '08 Proceedings of the 14th international conference on Requirements Engineering: Foundation for Software Quality
Model Transformation as an Optimization Problem
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Digital Evolution of Behavioral Models for Autonomic Systems
ICAC '08 Proceedings of the 2008 International Conference on Autonomic Computing
Analysis of Procedure Splitability
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Analysis of Procedure Splitability
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Genetic Synthesis of Software Architecture
SEAL '08 Proceedings of the 7th International Conference on Simulated Evolution and Learning
A systematic review of search-based testing for non-functional system properties
Information and Software Technology
Applying genetic algorithms to decision making in autonomic computing systems
ICAC '09 Proceedings of the 6th international conference on Autonomic computing
Introduction to Genetic Algorithms
Introduction to Genetic Algorithms
Local Search-Based Refactoring as Graph Transformation
SSBSE '09 Proceedings of the 2009 1st International Symposium on Search Based Software Engineering
Dynamic Architectural Selection: A Genetic Algorithm Based Approach
SSBSE '09 Proceedings of the 2009 1st International Symposium on Search Based Software Engineering
Evolutionary software engineering, a review
Applied Soft Computing
Scenario-Based Genetic Synthesis of Software Architecture
ICSEA '09 Proceedings of the 2009 Fourth International Conference on Software Engineering Advances
Genetic algorithm based software integration with minimum software risk
Information and Software Technology
Modeling the search landscape of metaheuristic software clustering algorithms
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Finding building blocks for software clustering
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Genetic programming with fitness based on model checking
EuroGP'07 Proceedings of the 10th European conference on Genetic programming
An improved genetic algorithm for web services selection
DAIS'07 Proceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
Ant colony optimization for model checking
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
Pattern-based genetic model refinements in MDA
Nordic Journal of Computing
Genetic algorithm utilized in cost-reduction driven web service selection
CIS'05 Proceedings of the 2005 international conference on Computational Intelligence and Security - Volume Part II
Cost-Driven web service selection using genetic algorithm
WINE'05 Proceedings of the First international conference on Internet and Network Economics
A novel genetic algorithm for qos-aware web services selection
DEECS'06 Proceedings of the Second international conference on Data Engineering Issues in E-Commerce and Services
Variable grouping in multivariate time series via correlation
IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics
Code-Imp: a tool for automated search-based refactoring
Proceedings of the 4th Workshop on Refactoring Tools
Establishing integration test orders of classes with several coupling measures
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Multi-objective genetic synthesis of software architecture
Proceedings of the 13th annual conference companion on Genetic and evolutionary computation
Search based software engineering: techniques, taxonomy, tutorial
Empirical Software Engineering and Verification
Search based design of software product lines architectures
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Dynamic adaptive search based software engineering
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Applying search based optimization to software product line architectures: lessons learned
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Controversy Corner: Search Based Software Engineering: Review and analysis of the field in Brazil
Journal of Systems and Software
Software engineering: an ideal set of challenges for evolutionary computation
Proceedings of the 15th annual conference companion on Genetic and evolutionary computation
Cloud engineering is Search Based Software Engineering too
Journal of Systems and Software
Hi-index | 0.00 |
This survey investigates search-based approaches to software design. The basics of the most popular meta-heuristic algorithms are presented as background to the search-based viewpoint. Software design is considered from a wide viewpoint, including topics that can also be categorized as software maintenance or re-engineering. Search-based approaches have been used in research from the high architecture design level to software clustering and finally software refactoring. Enhancing and predicting software quality with search-based methods is also taken into account as a part of the design process. The background for the underlying software engineering problems is discussed, after which search-based approaches are presented. Summarizing remarks and tables collecting the fundamental issues of approaches for each type of problem are given. The choices regarding critical decisions, such as representation and fitness function, when used in meta-heuristic search algorithms, are emphasized and discussed in detail. Ideas for future research directions are also given.