Software product line with IBEA

Post on 14-Feb-2017

256 views 2 download

Transcript of Software product line with IBEA

Constraint Solver for Product LinesProject 1 Presentation

Jianfeng Chen

jchen37@ncsu.edu

April 9, 2015

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 1 / 18

Software features

Software engineering is becoming more and more complex.More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Software features

Software engineering is becoming more and more complex.

More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Software features

Software engineering is becoming more and more complex.More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Software features

Software engineering is becoming more and more complex.More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Software features

Software engineering is becoming more and more complex.More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Software features

Software engineering is becoming more and more complex.More and more features.

C2C online trading system: database, commercial data encryption, mil-lisecond(microsecond) response, customable GUI, chatting module, emailconnection, etc.

An operating system have thousands of modules and features.

Among them, which features should be implemented?

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18

Feature model

Feature tree:

http://www.digplanet.com/wiki/Feature_model

Many features are related to others.Cross-tree constraints complex the problem.Cross-tree constraints are widespread in the software products.Ex. more than three fourths features in eCos(an open source real-time oper-

ating system) are referred by some constraints.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18

Feature model

Feature tree:

http://www.digplanet.com/wiki/Feature_model

Many features are related to others.

Cross-tree constraints complex the problem.Cross-tree constraints are widespread in the software products.Ex. more than three fourths features in eCos(an open source real-time oper-

ating system) are referred by some constraints.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18

Feature model

Feature tree:

http://www.digplanet.com/wiki/Feature_model

Many features are related to others.Cross-tree constraints complex the problem.

Cross-tree constraints are widespread in the software products.Ex. more than three fourths features in eCos(an open source real-time oper-

ating system) are referred by some constraints.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18

Feature model

Feature tree:

http://www.digplanet.com/wiki/Feature_model

Many features are related to others.Cross-tree constraints complex the problem.Cross-tree constraints are widespread in the software products.

Ex. more than three fourths features in eCos(an open source real-time oper-

ating system) are referred by some constraints.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18

Feature model

Feature tree:

http://www.digplanet.com/wiki/Feature_model

Many features are related to others.Cross-tree constraints complex the problem.Cross-tree constraints are widespread in the software products.Ex. more than three fourths features in eCos(an open source real-time oper-

ating system) are referred by some constraints.Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18

Feature model

SPLOT

open repository

more than 600 feature models

SXFM language; parser is available

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 4 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

cost

familiarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)

defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Goals

INPUT:

feature model(including constraints)

some important feature attributes:

costfamiliarity(used before?)defects

OUTPUT: configurations (select which features?)

GOALS:

⇓ constraint violations

⇑ feature richness

⇑ used features

⇓ defects

⇓ total cost

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18

Genetic algorithms

http://www.abrandao.com/2015/01/21/simple-php-genetic-algorithm/

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 6 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7

A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5

B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7

A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Domination

Reverse the uprise objectives ⇒ all objectives are the less the better.

A 3 7 4 2 7

B 4 7 6 2 7A dominates B

A 4 7 6 2 7

B 4 4 6 1 5B dominates A

A 3 7 4 2 7

B 4 4 6 1 7A is indifferent from B

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18

Method 1: Differential Evolution

continuous: new = A + F ∗ (B − C )binary: for each bit, new = A|B|C basing on some lottery.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18

Method 1: Differential Evolution

continuous: new = A + F ∗ (B − C )binary: for each bit, new = A|B|C basing on some lottery.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18

Method 1: Differential Evolution

continuous: new = A + F ∗ (B − C )binary: for each bit, new = A|B|C basing on some lottery.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18

Method 1: Differential Evolution

What if indifferent?

add to the population pool!

How to prune?

[Deb, Kalyanmoy, et al. 2002]

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18

Method 1: Differential Evolution

What if indifferent?add to the population pool!

How to prune?

[Deb, Kalyanmoy, et al. 2002]

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18

Method 1: Differential Evolution

What if indifferent?add to the population pool!

How to prune?

[Deb, Kalyanmoy, et al. 2002]

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18

Method 1: Differential Evolution

What if indifferent?add to the population pool!

How to prune?

[Deb, Kalyanmoy, et al. 2002]

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18

Method 2: Indicator-based search

Binary quality indicatorFitness F (x) =

∑i∈P\x −e−I (i ,x)/κ

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18

Method 2: Indicator-based search

Binary quality indicatorFitness F (x) =

∑i∈P\x −e−I (i ,x)/κ

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18

Method 2: Indicator-based search

Binary quality indicator

Fitness F (x) =∑

i∈P\x −e−I (i ,x)/κ

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18

Method 2: Indicator-based search

Binary quality indicatorFitness F (x) =

∑i∈P\x −e−I (i ,x)/κ

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Method 2: Indicator-based search

Initialization

Get fitness

Eliminate the individuals with smallest fitness

Mating selection

Variation

Terminate or back to second step

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18

Results

FM test (medium size)166 features112 leaves46 cross-tree constraints

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 12 / 18

Results

IBEA.FM.

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 13 / 18

Results

DE vs IBEA.FM.

Figure: Features NOT provided

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18

Results

DE vs IBEA.FM.

Figure: Features NOT providedJianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18

Results

DE vs IBEA.FM.

Figure: DefectsJianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 15 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Further discussion

Stopping criterion

improvement/deterioration accumulation

customable weight

Running time

DE-FM-500 gens-54s

IBEA-FM-500 gens-83s

In average, IBEA = 1.3*DE

Front Quality

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Future work

pruning in differential evolution (flocking behaviors)

mutate with reservations

reconstruct the feature tree (reduce the search space)

chaff algorithm

Satz/Z3

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18

Thank you!

Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 18 / 18