Welcome to CREST

58
Centre for Research in Evolution, Search & Testing Welcome to CREST King’s College London Mark Harman Centre for Research in Evolution, Search & Testing

description

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 - PowerPoint PPT Presentation

Transcript of Welcome to CREST

Page 1: Welcome to CREST

Centre for Research in Evolution, Search & Testing

Welcome to CREST

King’s College LondonMark Harman

Centre for Research in Evolution, Search & Testing

Page 2: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 3: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

CREST: Where we are

CRESTKing’s College London

Page 4: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

20 minutes walk

CREST: Where we are

CRESTKing’s College London

Page 5: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

CREST Funding

Page 6: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Industrial Links

Page 7: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Industrial Links

Page 8: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 9: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Why is SBSE?

Page 10: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Why is SBSE?

Page 11: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Why not SBSE?

?

Page 12: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Why not SBSE?

EPSRC network

1999 – 2002

Laid foundation for SBSE

Page 13: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Current state of SBSE research

18 countries

20 in UK alone

CREST is undisputed world leader

Page 14: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 15: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

SEBASE Project Overview

Overall: £2.7MKCL: £1.2M

Aim:To provide an entirely new way of

understanding and practicing software engineering

Software Engineering as search and optimize

Page 16: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

… plus EvoTest

Overall: £2.1MKCL: £250k

Aim:To provide evolutionary search for software

test automation

Software testing as search and optimize

Page 17: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 18: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 19: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Perfect

Page 20: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Score 0

Page 21: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 22: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 23: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Two Attacks

Page 24: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Score -2

Page 25: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 26: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Page 27: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Three Attacks

Page 28: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The Eight Queens Problem

Score -3

Page 29: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

That was easy

Page 30: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Generate a solution

Place

8

Queens

With no

attacks

Page 31: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Scale up: Generate a solution

Page 32: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Scale up: Generate a solution

Page 33: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Evolution beats random

Generation

Exe

cuti

on T

ime

(in

cyc

les)

Evolutionary Test

Random Test

Page 34: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

SBSE is so generic

Testing

Fitness function: coverage, time, …

Representation: input vector

Restructuring

Fitness function: cohesion and coupling

Representation: mapping nodes to clusters

Page 35: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

SBSE is so generic

Testing

Fitness function: coverage, time, …

Representation: input vector

Restructuring

Fitness function: cohesion and coupling

Representation: mapping nodes to clusters

Page 36: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 37: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 38: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 39: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

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

Page 40: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

SBSE Applications

Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams

Requirements Bagnall, Mansouri, ZhangEffort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd Management Alba, Antoniol, Chicano, Di Pentam Greer, RuheHeap 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, TrattTest 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, GodefroidProbe dist’ion Cohen, Elbaum UIOs Derderian, Guo, HieronsComprehension Gold, Li, MahdaviProtocols Alba, Clark, Jacob, TroyaComponent sel Baker, Skaliotis, Steinhofel, YooAgent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis

Page 41: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams

Requirements Bagnall, Mansouri, ZhangEffort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd Management Alba, Antoniol, Chicano, Di Pentam Greer, RuheHeap 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, TrattTest 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, GodefroidProbe dist’ion Cohen, Elbaum UIOs Derderian, Guo, HieronsComprehension Gold, Li, MahdaviProtocols Alba, Clark, Jacob, TroyaComponent sel Baker, Skaliotis, Steinhofel, YooAgent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis

SBSE Applications in which SEBASE is active

Page 42: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Companies have their act togetherWe have large pools of regression test dataThey are getting too largeWe need to Select and Prioritize

Regression

Page 43: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Regression Selection

Page 44: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Regression Selection

Page 45: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

The optimal test case orderings:

D A BC

C A BD

Regression Prioritization

Page 46: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Regression Prioritization

Page 47: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Requirements Optimization

Most expensive mistakes and misunderstandings

Many customer Many requirements Many releases

Fairness, Approximation

Page 48: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Requirements optimization

Page 49: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Dependence Analysis

Some case studies in dependence analysisWork we are doing with Prof. Binkley for

DaimlerChryslerIBMMotorola

Case studies are based on open sourceProf. Binkley’s visit is supported by EPSRC

Page 50: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

preproreplace

Bubble charts

Page 51: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Flex evolution

Page 52: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

sendmail findutils

Profiling

Page 53: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Example Dependence Profile

X axis: program points

Y axis: normalised dependence level

Monotone Slice Size Graphs

Page 54: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

What is going on here?

Page 55: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

No clusters

Page 56: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Enormous clusters

Page 57: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Refactor to remove

Page 58: Welcome to CREST

Centre for Research in Evolution, Search & Testing

http://crest.dcs.kcl.ac.uk/

Summary

World leading Centre inTesting

Search Based Software EngineeringSlicing

Centre hub of National and International NetworksService Oriented Software Engineering

Source Code AnalysisSearch Based Software Engineering

Funded byEPSRC

EUIndustry