1.42k likes | 1.82k Views
Introduction to Search Based Software Engineering SSS SEBASE Summer School, Birmingham University, July 2007. Mark Harman King’s College London. Introduction to Search Based Software Engineering SSSS Second SEBASE Summer School, Birmingham University, July 2008. Mark Harman
E N D
Introduction toSearch Based Software EngineeringSSS SEBASE Summer School, Birmingham University, July 2007 Mark Harman King’s College London
Introduction toSearch Based Software EngineeringSSSS Second SEBASE Summer School, Birmingham University, July 2008 Mark Harman King’s College London
Introduction toSearch Based Software EngineeringHow on earth can software engineers do what John says they claim do Mark Harman King’s College London
How on earth can software engineers do what John says they claim do-To engineer is to optimize Mark Harman King’s College London
Introduction toSearch Based Software Engineering Thanks John Clark, University of York, Sebastian Elbaum, University of Nebraska Lincoln Rob Hierons, Brunel University Zheng Li, King’s College London Kiarash Mahdavi, King’s College London Spiros Mancoridis, Drexel University Afshin Mansouri, King’s College London Jian Ren, King’s College London Joachim Wegener, DaimlerChrysler Shin Yoo, King’s College London YuanYuan Zhang, King’s College London
Where is King’s College London? 20 minutes’ walk
Search Based Software Engineering SBSE what and why SBSE case studies SBSE how Current and future trends Advantages Multi Objective Search Insight through search Co Evolution
Search Based Software Engineering SBSE what and why SBSE case studies SBSE how Current and future trends – personal views Advantages Multi Objective Search Insight through search Co Evolution
Search Based Software Engineering SBSE what and why SBSE case studies SBSE how Current and future trends – IMHO Advantages Multi Objective Search Insight through search Co Evolution
Search Based Software Engineering SBSE what and why SBSE case studies SBSE how Current and future trends – In Mark Harman’s Opinion Advantages Multi Objective Search Insight through search Co Evolution
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek.
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. So it is merely another application of Optimization Techniques?
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. So it is merely another set of applications of Optimization Techniques?
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. So it is merely another rich set of applications of Optimization Techniques?
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. So it is merely another rich set of applications of Optimization Techniques?
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. Have nails … seek hammer
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. Have nails … seek hammers
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. Have nails … seek hammers Generalise, compare, develop
What is SBSE In SBSE we apply search techniques to search large search spaces, guided by a fitness function that captures properties of the acceptable software artefacts we seek. Have nails … seek hammers Generalise, compare, develop in an unbiased manner
What is Research? In research we apply social search techniques to search large search spaces, guided by a natural evolution of memes Have nails … seek hammers Generalise, compare, develop in an unbiased manner
What is Research? In research we apply social search techniques to search large search spaces, guided by a natural evolution of memes and all the usual human frailties Have nails … seek hammers Generalise, compare, develop in an unbiased manner
The Eight Queens Problem Perfect
The Eight Queens Problem Perfect Score 0
The Eight Queens Problem Two Attacks
The Eight Queens Problem Two Attacks Score -2
The Eight Queens Problem Three Attacks
The Eight Queens Problem Three Attacks Score -3
Generate a solution Place 8 queens on the board so that there are no attacks
Scale up: Generate a solution Place 44 queens on the board so that there are no attacks
Scale up: Generate a solution Place 400 queens on the board so that there are no attacks
Checking vs Generating Task One: Write a method to determine which is the better of two placements of N queens Task Two: Write a method to construct a board placement with N non attacking queens
Checking vs Generating Task One: Write a method to determine which is the better of two placements of N queens Task Two: Write a method to construct a board placement with N non attacking queens
Checking vs Generating Search Based Software Engineering Write a method to determine which is the better of two solutions Conventional Software Engineering Write a method to construct a perfect solution
Checking vs Generating Search Based Software Engineering Write a method to determine which is the better of two solutions Conventional Software Engineering Write a method to construct a perfect solution
Checking vs Generating Search Based Software Engineering Write a method to determine which is the better of two solutions Conventional Software Engineering Write a method to construct a perfect solution
Checking vs Generating Search Based Software Engineering Write a fitness function to determine which is the better of two solutions Conventional Software Engineering Write a method to construct a perfect solution
Checking vs Generating Search Based Software Engineering Write a fitness function to guide a search aaaa Conventional Software Engineering Write a method to construct a perfect solution
Checking vs Generating Search Based Software Engineering Write a fitness function to guide automated search Conventional Software Engineering Write a method to construct a perfect solution
Evolutionary Algorithms Insertion Mutation Fitness evaluation Testexecution Recombination End? Selection