TRANSCRIÇÃOEnglish

Search-Based Software Engineering: Challenges, Opportunities and Applications - Tutorial @GECOO 2020

1h 43m 6s14,161 palavras2,204 segmentsEnglish

TRANSCRIÇÃO COMPLETA

0:01

hello I'm glad to present this tutorial

0:03

today on search method software

0:05

engineering challenges opportunities and

0:08

recent applications my name is Adina I'm

0:10

from ETS Montreal University of Quebec

0:13

in Canada so first of all I would like

0:15

to thank professors Mark Harmon and

0:17

Marvin Santini for the inspiration to

0:20

prepare part of this tutorial and I'm

0:22

also grateful for all my students

0:24

co-authors and collaborators this work

0:27

have never been possible without their

0:28

support and collaboration so this

0:31

tutorial today will cover different

0:32

aspects I will start by presenting the

0:35

biological basis behind science and

0:38

engineering and then I will describe

0:40

what is SBC and how we apply it in

0:43

practice then to better understand this

0:45

message I will present three

0:47

applications of SPS see what under

0:49

commendation of refactoring changes the

0:52

second application is about improving

0:54

the web services design and the third

0:56

application is about reviewing code

0:59

changes in modern code review the

1:03

wraptor I will present the hands-on

1:04

activity using an existing open source

1:06

framework called

1:08

my framework and simplified case study

1:11

on software migration and finally I'll

1:13

be presenting and discussing the

1:16

challenges and future work with search

1:19

based software engineering so let's

1:21

start with the philosophical basis

1:23

behind science and engineering so

1:26

science is more about using

1:28

experimentation and analysis to explore

1:30

the world around us so we can take

1:33

problem we characterize it quantify and

1:36

model the problem this is mainly the

1:38

role of scientist on the other side in

1:41

engineering we take this information

1:43

provided by scientists and use it to

1:45

design and develop products that are

1:48

gonna allow us to quality human life to

1:53

continue

1:54

Engineering offers humanity the hope

1:56

because science gives us a state of

1:59

information but no concrete solution so

2:02

the scientist mainly is looking at how

2:05

things are theoretically done while the

2:08

engineer is looking at how things are

2:10

practically done

2:12

the scientist Murli explores what exists

2:17

but the engineer is more creating what

2:21

has never been existed before

2:23

so as analogy a computer scientist we

2:28

look at the fundamental principles

2:30

behind computation and how it works well

2:34

the idea for an engineer is to complete

2:37

specifications or meet designs but

2:39

within a set of constraints and

2:41

limitations so how would you consider

2:45

yourself yourself

2:46

are you more engineer or scientist so

2:49

the the synergy or the innate

2:52

relationship between both science and

2:55

engineering is on the basis of search

2:57

based software engineering so search

3:00

based software engineering inert from

3:03

both fields

3:04

computer science and software

3:06

engineering so let's move to the first

3:11

part 2 of this tutorial about what is as

3:14

BSC so before delving into the details

3:18

of especially let us see what are the

3:20

common work that engineers talk about

3:22

all the time so we check it from

3:24

different engineering fields they mostly

3:28

talk about optimized analyzed solution

3:31

estimate tolerance constraint model we

3:35

found that the dimensional optimized

3:39

wise so one in breach and one in

3:42

American so good so as busy is mainly

3:46

about optimization is in the core of

3:49

SBAC the term SVC was coined first by

3:54

Mark Harmon in 2001 and SPC is about the

3:59

use of intelligent search techniques to

4:01

explore large search spaces guided by

4:04

what we call Fitness function that

4:06

captures the properties of a desirable

4:09

solutions that we need we seek to have

4:11

and there exist several ready-made

4:14

algorithms such as the Genetic

4:15

Programming harmony search particle

4:18

swarm optimization and simulated

4:20

annealing all these algorithms will be

4:23

used to solve any optimization

4:26

problem including in software

4:27

engineering and other fields so these

4:31

algorithms fall under the evolutionary

4:35

search algorithms as part of machine

4:38

learning which are all artificial

4:40

intelligence techniques to be used for

4:42

robotics originally and other fields so

4:48

SBC is mainly an intersection between

4:50

two fields the optimization and software

4:53

engineering in software engineering we

4:56

have multiple problems that need to be

4:57

solved like automated test generation

5:00

code refactoring software project

5:03

management requirements engineering

5:04

fault

5:05

localization and program repair the

5:09

field of search based optimization

5:10

provides us with a set of ready-made

5:14

algorithms that are ready to use from

5:18

single objective to monthly or many

5:21

objective I graded such as the genetic

5:23

algorithm the non dominated sort and

5:25

genetic algorithm etc and the

5:29

application of serrated optimization to

5:31

software engineering would create the

5:35

field of SBAC we found search basic

5:38

testing which is an active field in the

5:40

software engineering community we have

5:43

also search based refactoring search

5:45

based software management search basic

5:47

requirements engineering etc so let's

5:50

see how or what is SBC in in a natural

5:54

so we mainly start from software

5:57

engineering problem then we try to use a

6:00

solution representation or a specific

6:02

encoding for the solution we can

6:04

represent the solution as for example a

6:06

vector or a 3-2 to fix a given problem

6:11

then we need to define what we call

6:13

Fitness function that evaluates how good

6:16

is our represented solution then we need

6:19

to define change operators that can

6:23

refine this the candidate solution to

6:25

make it better and that can involve over

6:29

an evolutionary process to make the

6:32

solution better and fitter

6:35

so the field of search basis of fringing

6:39

is growing

6:40

very fast overtime so as we can see the

6:43

trend of the use of SDSC until mid-2012

6:47

we have over 1,600 authors from nearly

6:51

300 institutions spread over more than

6:54

40 countries so this is realistic

6:57

scenario and the philosophy behind this

7:00

busy pushed a lot of researchers and

7:02

practitioners to use SBAC to solve their

7:05

problems and today we are dedicated

7:09

tracks in the top conferences like in XE

7:13

or in FSC or also in top conferences in

7:17

evolutionary computation like geek oh

7:19

there is a dedicated track for SBC

7:22

there are also some dedicated

7:24

international conferences back or

7:26

symposiums like SSB se or sbst we found

7:29

also several publications in the top

7:31

journals fat asian Tosa in the recent

7:34

years so maybe the question is why this

7:37

is growing that fast the answer is that

7:40

in like other fields we have a valuable

7:42

opportunity to check many possible

7:44

solutions for a given a problem and then

7:47

select the best one in physical

7:49

engineering this could be limited and

7:51

costly as we need to try different

7:55

solutions and experiments and the cost

7:59

can limit the application of these

8:02

simulations so however in software

8:05

engineering for example to fix a bug we

8:07

can change the structure of a program

8:09

and try different patches to find the

8:12

Bell and then find the best one so there

8:15

is almost no cost for such experiment we

8:18

can modify the code as much as we can

8:21

this makes software engineering more

8:23

attractive and more applicable in

8:29

practice so for example let us see a

8:32

real world example of space rocket so

8:35

the goal is to find the optimal

8:38

structure that maximizes the compression

8:40

and minimize the forth conception

8:42

consumption this is an extremely costly

8:47

experiment we can try cannot write

8:50

physically on the space so people

8:52

usually

8:53

use simulations but there is a risk that

8:56

simulation is not as similar to the

9:01

reality software engineering is more

9:03

attractive in this case for example to

9:06

find an optimal design that maximize

9:08

cohesion and minimize coupling this is

9:12

possible so we can modify the code see

DESBLOQUEAR MAIS

Registe-se gratuitamente para aceder a funcionalidades premium

VISUALIZADOR INTERATIVO

Assista ao vídeo com legendas sincronizadas, sobreposição ajustável e controlo total da reprodução.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

RESUMO DE IA

Obtenha um resumo instantâneo gerado por IA do conteúdo do vídeo, pontos-chave e conclusões.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

TRADUZIR

Traduza a transcrição para mais de 100 idiomas com um clique. Baixe em qualquer formato.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

MAPA MENTAL

Visualize a transcrição como um mapa mental interativo. Entenda a estrutura rapidamente.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

CONVERSAR COM A TRANSCRIÇÃO

Faça perguntas sobre o conteúdo do vídeo. Obtenha respostas com tecnologia de IA diretamente da transcrição.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

APROVEITE MAIS DE SUAS TRANSCRIÇÕES

Inscreva-se gratuitamente e desbloqueie o visualizador interativo, resumos de IA, traduções, mapas mentais e muito mais. Não é necessário cartão de crédito.