Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software product line with IBEA

315 views

Published on

Final report for cs510@ncsu

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

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

×