O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Software product line with IBEA

329 visualizações

Publicada em

Final report for cs510@ncsu

Publicada em: Engenharia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Software product line with IBEA

  1. 1. Constraint Solver for Product Lines Project 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
  2. 2. Software features Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  3. 3. Software features Software engineering is becoming more and more complex. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  4. 4. Software features Software engineering is becoming more and more complex. More and more features. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  5. 5. 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, email connection, etc. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  6. 6. 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, email connection, etc. An operating system have thousands of modules and features. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 2 / 18
  7. 7. 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, email connection, 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
  8. 8. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  9. 9. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  10. 10. Feature model Feature tree: http://www.digplanet.com/wiki/Feature_model Many features are related to others. Cross-tree constraints complex the problem. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  11. 11. 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. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 3 / 18
  12. 12. 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
  13. 13. 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
  14. 14. Goals Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  15. 15. Goals INPUT: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  16. 16. Goals INPUT: feature model(including constraints) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  17. 17. Goals INPUT: feature model(including constraints) some important feature attributes: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  18. 18. Goals INPUT: feature model(including constraints) some important feature attributes: cost Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  19. 19. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  20. 20. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  21. 21. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  22. 22. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  23. 23. Goals INPUT: feature model(including constraints) some important feature attributes: cost familiarity(used before?) defects OUTPUT: configurations (select which features?) GOALS: ⇓ constraint violations Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  24. 24. 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 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  25. 25. 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 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  26. 26. 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 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 5 / 18
  27. 27. 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
  28. 28. 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
  29. 29. Domination Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  30. 30. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  31. 31. Domination Reverse the uprise objectives ⇒ all objectives are the less the better. A 3 7 4 2 7 B 4 7 6 2 7 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  32. 32. 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 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  33. 33. 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 5 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  34. 34. 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 5 B dominates A Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  35. 35. 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 5 B dominates A A 3 7 4 2 7 B 4 4 6 1 7 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 7 / 18
  36. 36. 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 5 B 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
  37. 37. Method 1: Differential Evolution Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
  38. 38. Method 1: Differential Evolution Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 8 / 18
  39. 39. 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
  40. 40. Method 1: Differential Evolution What if indifferent? Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  41. 41. Method 1: Differential Evolution What if indifferent? add to the population pool! Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  42. 42. Method 1: Differential Evolution What if indifferent? add to the population pool! How to prune? Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 9 / 18
  43. 43. 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
  44. 44. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  45. 45. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  46. 46. Method 2: Indicator-based search Binary quality indicator Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  47. 47. Method 2: Indicator-based search Binary quality indicator Fitness F(x) = i∈Px −e−I(i,x)/κ Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 10 / 18
  48. 48. Method 2: Indicator-based search Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  49. 49. Method 2: Indicator-based search Initialization Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  50. 50. Method 2: Indicator-based search Initialization Get fitness Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  51. 51. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  52. 52. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Mating selection Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  53. 53. Method 2: Indicator-based search Initialization Get fitness Eliminate the individuals with smallest fitness Mating selection Variation Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 11 / 18
  54. 54. 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
  55. 55. Results FM test (medium size) 166 features 112 leaves 46 cross-tree constraints Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 12 / 18
  56. 56. Results IBEA.FM. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 13 / 18
  57. 57. Results DE vs IBEA.FM. Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
  58. 58. Results DE vs IBEA.FM. Figure: Features NOT provided Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 14 / 18
  59. 59. Results DE vs IBEA.FM. Figure: Defects Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 15 / 18
  60. 60. Further discussion Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  61. 61. Further discussion Stopping criterion Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  62. 62. Further discussion Stopping criterion improvement/deterioration accumulation Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  63. 63. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  64. 64. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  65. 65. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  66. 66. Further discussion Stopping criterion improvement/deterioration accumulation customable weight Running time DE-FM-500 gens-54s IBEA-FM-500 gens-83s Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  67. 67. 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 Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 16 / 18
  68. 68. 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
  69. 69. 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
  70. 70. Future work Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  71. 71. Future work pruning in differential evolution (flocking behaviors) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  72. 72. Future work pruning in differential evolution (flocking behaviors) mutate with reservations Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  73. 73. Future work pruning in differential evolution (flocking behaviors) mutate with reservations reconstruct the feature tree (reduce the search space) Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  74. 74. Future work pruning in differential evolution (flocking behaviors) mutate with reservations reconstruct the feature tree (reduce the search space) chaff algorithm Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 17 / 18
  75. 75. 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
  76. 76. Thank you! Jianfeng Chen (jchen37@ncsu.edu) Constraint Solver for Product Lines April 9, 2015 18 / 18

×