580 likes | 601 Views
Centre for Research in Evolution, Search & Testing. Welcome to CREST. King’s College London Mark Harman. CREST. Engineering: Better, faster and cheaper through automation and Improved insight World leading in Program Slicing Search Based Software Engineering Software Testing
E N D
Centre for Research in Evolution, Search & Testing Welcome to CREST King’s College London Mark Harman
CREST Engineering: Better, faster and cheaper • through automation and • Improved insight World leading in • Program Slicing • Search Based Software Engineering • Software Testing Also widely known for work in • Service-Oriented Software Engineering • Foundations of Source Code Analysis
CREST King’s College London CREST: Where we are
CREST King’s College London CREST: Where we are 20 minutes walk
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. Genetic Algorithms, Hill climbing, Simulated Annealing, Random, Tabu Search, Estimation of Distribution Algorithms, Particle Swarm Optimization
Why not SBSE? EPSRC network 1999 – 2002 Laid foundation for SBSE
Current state of SBSE research 18 countries 20 in UK alone CREST is undisputed world leader
Current state of SBSE research 18 countries 20 in UK alone CREST is undisputed world leader Mark Harman The Current State and Future of Search Based Software Engineering 29th International Conference on Software Engineering (ICSE 2007), Future of Software Engineering (FoSE). Minneapolis, USA, May 2007
SEBASE Project Overview Overall: £2.7M KCL: £1.2M Aim: To provide an entirely new way of understanding and practicing software engineering Software Engineering as search and optimize
… plus EvoTest Overall: £2.1M KCL: £250k Aim: To provide evolutionary search for software test automation Software testing as search and optimize
The Eight Queens Problem Perfect
The Eight Queens Problem Score 0
The Eight Queens Problem Two Attacks
The Eight Queens Problem Score -2
The Eight Queens Problem Three Attacks
The Eight Queens Problem Score -3
Generate a solution Place 8 Queens With no attacks
SBSE is so generic Testing Fitness function: coverage, time, … Representation: input vector Restructuring Fitness function: cohesion and coupling Representation: mapping nodes to clusters
SBSE is so generic Testing Fitness function: coverage, time, … Representation: input vector Restructuring Fitness function: cohesion and coupling Representation: mapping nodes to clusters
SBSE is so generic Testing is a search problem Fitness function: coverage, time, … Representation: input vector Requirements is a search problem Fitness function: cost, value, dependence constraints Representation: bitset
SBSE is so generic Testing is a search problem Fitness function: coverage, time, … Representation: input vector Regression is a search problem Fitness function: testing goals Representation: retained test set
SBSE is so generic Testing is a search problem Fitness function: coverage, time, … Representation: input vector Planning is a search problem Fitness function: time, schedule robustness Representation: work package allocation
SBSE is so generic Testing is a search problem Fitness function: coverage, time, … Representation: input vector Planning is a search problem Fitness function: time, schedule robustness Representation: work package allocation
SBSE Applications Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams Requirements Bagnall, Mansouri, Zhang Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd Management Alba, Antoniol, Chicano, Di Pentam Greer, Ruhe Heap allocation Cohen, Kooi, Srisa-an Regression test Li, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer SOA Canfora, Di Penta, Esposito, Villani Refactoring Antoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt Test Generation Alba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, Wegener, Wilkins Maintenance Antoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift Model checking Alba, Chicano, Godefroid Probe dist’ion Cohen, Elbaum UIOs Derderian, Guo, Hierons Comprehension Gold, Li, Mahdavi Protocols Alba, Clark, Jacob, Troya Component sel Baker, Skaliotis, Steinhofel, Yoo Agent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis
SBSE Applications in which SEBASE is active Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams Requirements Bagnall, Mansouri, Zhang Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd Management Alba, Antoniol, Chicano, Di Pentam Greer, Ruhe Heap allocation Cohen, Kooi, Srisa-an Regression test Li, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer SOA Canfora, Di Penta, Esposito, Villani Refactoring Antoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt Test Generation Alba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, Wegener, Wilkins Maintenance Antoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift Model checking Alba, Chicano, Godefroid Probe dist’ion Cohen, Elbaum UIOs Derderian, Guo, Hierons Comprehension Gold, Li, Mahdavi Protocols Alba, Clark, Jacob, Troya Component sel Baker, Skaliotis, Steinhofel, Yoo Agent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis
Regression Companies have their act together We have large pools of regression test data They are getting too large We need to Select and Prioritize
C D A B D C A B Regression Prioritization The optimal test case orderings:
Requirements Optimization Most expensive mistakes and misunderstandings Many customer Many requirements Many releases Fairness, Approximation
Dependence Analysis Some case studies in dependence analysis Work we are doing with Prof. Binkley for DaimlerChrysler IBM Motorola Case studies are based on open source Prof. Binkley’s visit is supported by EPSRC
Bubble charts replace prepro