Centre for Research in Evolution, Search & Testing Welcome to CREST King’s College London Mark Harman Centre for Research in Evolution, Search & Testing
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing CREST: Where we are CREST King’s College London
Centre for Research in Evolution, Search & Testing 20 minutes walk CREST: Where we are CREST King’s College London
Centre for Research in Evolution, Search & Testing CREST Members Mark Harman Director Nicolas Gold Deputy Director Chris McCulloch CREST Manager EvoTest SEBASE CONTRACTS Shin Yoo PhD Student Afshin Mansouri Research Assistant Chris McCulloch Project Operations Manager Laurie Tratt Research Assistant Youssef Hassoun Research Assistant Kiran Lakhotia PhD Student Zheng Li Research Assistant Kiarash Mahdavi Research Assistant Tao Jiang PhD Student Yuanyuan Zhang PhD Student Kostas Adamopoulos PhD Student Independent PhD Students Kazhaw AlKhaffaf Part time PhD Student Marian Mohr PhD Student Connie Bao PhD Student Independent PhD Students Ghassan Dukes Part time PhD Student Jaeeun Yi PhD student
Centre for Research in Evolution, Search & Testing CREST Funding
Centre for Research in Evolution, Search & Testing Industrial Links
Centre for Research in Evolution, Search & Testing Industrial Links
Centre for Research in Evolution, Search & Testing Yuanyuan Zhang PhD Student Shin Yoo PhD Student Chris McCulloch Project Operations Manager Laurie Tratt Research Assistant Afshin Mansouri Research Associate Mark Harman Project Director
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing Why is SBSE?
Centre for Research in Evolution, Search & Testing Why is SBSE?
Centre for Research in Evolution, Search & Testing Why not SBSE? ?
Centre for Research in Evolution, Search & Testing Why not SBSE? EPSRC network 1999 – 2002 Laid foundation for SBSE
Centre for Research in Evolution, Search & Testing Current state of SBSE research 18 countries 20 in UK alone CREST is undisputed world leader
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing … plus EvoTest Overall: £2.1M KCL: £250k Aim: To provide evolutionary search for software test automation Software testing as search and optimize
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Perfect
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Score 0
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Two Attacks
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Score -2
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Three Attacks
Centre for Research in Evolution, Search & Testing The Eight Queens Problem Score -3
Centre for Research in Evolution, Search & Testing That was easy
Centre for Research in Evolution, Search & Testing Generate a solution Place 8 Queens With no attacks
Centre for Research in Evolution, Search & Testing Scale up: Generate a solution
Centre for Research in Evolution, Search & Testing Scale up: Generate a solution
Centre for Research in Evolution, Search & Testing Evolution beats random
Centre for Research in Evolution, Search & Testing SBSE is so generic Testing Fitness function: coverage, time, … Representation: input vector Restructuring Fitness function: cohesion and coupling Representation: mapping nodes to clusters
Centre for Research in Evolution, Search & Testing SBSE is so generic Testing Fitness function: coverage, time, … Representation: input vector Restructuring Fitness function: cohesion and coupling Representation: mapping nodes to clusters
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing SBSE Applications TransformationCooper, Ryan, Schielke, Subramanian, Fatiregun, Williams Requirements Bagnall, Mansouri, Zhang Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd ManagementAlba, Antoniol, Chicano, Di Pentam Greer, Ruhe Heap allocationCohen, Kooi, Srisa-an Regression testLi, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer SOA Canfora, Di Penta, Esposito, Villani RefactoringAntoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt Test GenerationAlba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, Wegener, Wilkins MaintenanceAntoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift Model checkingAlba, Chicano, Godefroid Probe dist’ionCohen, Elbaum UIOsDerderian, Guo, Hierons ComprehensionGold, Li, Mahdavi ProtocolsAlba, Clark, Jacob, Troya Component selBaker, Skaliotis, Steinhofel, Yoo Agent OrientedHaas, Peysakhov, Sinclair, Shami, Mancoridis
Centre for Research in Evolution, Search & Testing TransformationCooper, Ryan, Schielke, Subramanian, Fatiregun, Williams Requirements Bagnall, Mansouri, Zhang Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd ManagementAlba, Antoniol, Chicano, Di Pentam Greer, Ruhe Heap allocationCohen, Kooi, Srisa-an Regression testLi, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer SOA Canfora, Di Penta, Esposito, Villani RefactoringAntoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt Test GenerationAlba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, Wegener, Wilkins MaintenanceAntoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift Model checkingAlba, Chicano, Godefroid Probe dist’ionCohen, Elbaum UIOsDerderian, Guo, Hierons ComprehensionGold, Li, Mahdavi ProtocolsAlba, Clark, Jacob, Troya Component selBaker, Skaliotis, Steinhofel, Yoo Agent OrientedHaas, Peysakhov, Sinclair, Shami, Mancoridis SBSE Applications in which SEBASE is active
Centre for Research in Evolution, Search & Testing Companies have their act together We have large pools of regression test data They are getting too large We need to Select and Prioritize Regression
Centre for Research in Evolution, Search & Testing Regression Selection
Centre for Research in Evolution, Search & Testing Regression Selection
Centre for Research in Evolution, Search & Testing The optimal test case orderings: DABC CAB D Regression Prioritization
Centre for Research in Evolution, Search & Testing Regression Prioritization
Centre for Research in Evolution, Search & Testing Requirements Optimization Most expensive mistakes and misunderstandings Many customer Many requirements Many releases Fairness, Approximation
Centre for Research in Evolution, Search & Testing Requirements optimization
Centre for Research in Evolution, Search & Testing 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
Centre for Research in Evolution, Search & Testing prepro replace Bubble charts
Centre for Research in Evolution, Search & Testing Flex evolution
Centre for Research in Evolution, Search & Testing sendmail findutils Profiling
Centre for Research in Evolution, Search & Testing Example Dependence Profile X axis: program points Y axis: normalised dependence level Monotone Slice Size Graphs
Centre for Research in Evolution, Search & Testing What is going on here?
Centre for Research in Evolution, Search & Testing No clusters
Centre for Research in Evolution, Search & Testing Enormous clusters
Centre for Research in Evolution, Search & Testing Refactor to remove
Centre for Research in Evolution, Search & Testing Summary World leading Centre in Testing Search Based Software Engineering Slicing Centre hub of National and International Networks Service Oriented Software Engineering Source Code Analysis Search Based Software Engineering Funded by EPSRC EU Industry