evolving reasons for tests or
play

Evolving Reasons for Tests or Can we gain something from Directly - PowerPoint PPT Presentation

Evolving Reasons for Tests or Can we gain something from Directly Searching SE Decision Spaces? Robert Feldt CREST Open Workshop, UCL, London, 2011-05-12 HOSE Lab (Human-fOcused SE) Chalmers University of Technology Sweden onsdag den 18 maj


  1. Evolving Reasons for Tests or Can we gain something from Directly Searching SE Decision Spaces? Robert Feldt CREST Open Workshop, UCL, London, 2011-05-12 HOSE Lab (Human-fOcused SE) Chalmers University of Technology Sweden onsdag den 18 maj 2011

  2. What is Engineering? onsdag den 18 maj 2011

  3. What is Engineering? “Finding good-enough (technical) solutions to real-world problems” onsdag den 18 maj 2011

  4. What is Engineering? “Finding good-enough (technical) solutions to real-world problems” “Making trade-offs & Balancing competing constraints” onsdag den 18 maj 2011

  5. What is Engineering? onsdag den 18 maj 2011

  6. What is Engineering? Engineering is a Co-operative Game to Explore a Space of possibilities and Making Justified Decisions onsdag den 18 maj 2011

  7. What is Engineering? Engineering is a Co-operative Game to Explore a Space of possibilities and Making Justified Decisions and then Spelling them out onsdag den 18 maj 2011

  8. What is Engineering? Engineering is a Co-operative Game to Explore a Space of possibilities and Making Justified Decisions and then Spelling them out (and Setting up for the Next Round of the game...) [Cockburn2006] onsdag den 18 maj 2011

  9. What is Engineering? Engineering is a Co-operative Game to Preparing Explore a Space of possibilities and for Decision Making Justified Decisions and then Spelling them out (and Setting up for the Next Round of the game...) [Cockburn2006] onsdag den 18 maj 2011

  10. What is Engineering? Engineering is a Co-operative Game to Preparing Explore a Space of possibilities and for Decision Making Making Justified Decisions Decisions and then Spelling them out (and Setting up for the Next Round of the game...) [Cockburn2006] onsdag den 18 maj 2011

  11. What is Engineering? Engineering is a Co-operative Game to Preparing Explore a Space of possibilities and for Decision Making Making Justified Decisions Decisions and then Spelling them out Explaining/Solidifying Decisions (and Setting up for the Next Round of the game...) [Cockburn2006] onsdag den 18 maj 2011

  12. What is Engineering? Engineering is a Co-operative Game to Preparing Explore a Space of possibilities and for Decision Making Making Justified Decisions Decisions and then Spelling them out Explaining/Solidifying Decisions (and Setting up for the Next Round of the game...) Justifying Decisions [Cockburn2006] onsdag den 18 maj 2011

  13. What is Engineering? Engineering is a Co-operative Game to Preparing Explore a Space of possibilities and for Decision Making Making Justified Decisions Decisions and then Spelling them out Explaining/Solidifying Decisions (and Setting up for the Next Round of the game...) Justifying Changing Decisions [Cockburn2006] Decisions onsdag den 18 maj 2011

  14. SBSE motivation • Fits search/optimization like a glove so we argue that SBSE: • Easily Applicable (“We already have many spaces!” & “Requires relatively little expertise!”) • Generic (“Same idea/search in many spaces!”) • Robust (“Works even if info incomplete, fuzzy, ... ”) • Realistic (“Caters for multiple objectives”) • Insight-rich (“We can learn about spaces we search manually”) • Scalable (“CPU’s gets cheaper and faster!”) • Less Biased (“Fewer assumptions, that might be wrong!”) • Than Humans & Than other Engineering Disciplines onsdag den 18 maj 2011

  15. onsdag den 18 maj 2011

  16. Solution Space onsdag den 18 maj 2011

  17. Problem Solution Space Space onsdag den 18 maj 2011

  18. Problem Process Solution Space Space Space onsdag den 18 maj 2011

  19. Problem Process Solution Space Space Space It Executes! onsdag den 18 maj 2011

  20. Problem Process Solution Space Space Space It Executes! It AutoCreates what Executes! onsdag den 18 maj 2011

  21. Problem Process Solution Space Space Space It Executes! It AutoCreates what Executes! It Searches while Executing! onsdag den 18 maj 2011

  22. Problem Process Solution Space Space Space It Executes! It Helps ManuCreate what Executes! It AutoCreates what Executes! It Searches while Executing! onsdag den 18 maj 2011

  23. Problem Process Solution Space Space Space It Executes! It Helps ManuCreate what Executes! It AutoCreates what Executes! It Helps with How to ManuCreate! It Searches while Executing! onsdag den 18 maj 2011

  24. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Understanding! what Executes! It AutoCreates what Executes! It Helps with How to ManuCreate! It Searches while Executing! onsdag den 18 maj 2011

  25. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Understanding! what Executes! It AutoCreates what Executes! It Helps with How to ManuCreate! It Searches while Executing! onsdag den 18 maj 2011

  26. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Understanding! what Executes! It AutoCreates what Executes! It Helps with How to ManuCreate! It Searches while Executing! onsdag den 18 maj 2011

  27. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Avoid or Avoid Spelling Understanding! what Executes! out Decision It AutoCreates what Executes! It Helps with How to ManuCreate! It Searches while Executing! onsdag den 18 maj 2011

  28. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Avoid or Avoid Spelling Understanding! what Executes! out Decision It AutoCreates what Executes! It Helps with How to ManuCreate! Select/Prio Decisions It Searches while Executing! onsdag den 18 maj 2011

  29. Problem Process Solution Space Space Space It Executes! It Promotes It Helps ManuCreate Avoid or Avoid Spelling Understanding! what Executes! out Decision It AutoCreates “Preparing” what Executes! for Decision It Helps with How to ManuCreate! Select/Prio Decisions It Searches while Executing! onsdag den 18 maj 2011

  30. Problem Process Solution Space Space Space Decision Space onsdag den 18 maj 2011

  31. Engineering Decisions • Reasoning and justification involved is often: • Ill-defined • Ill-structured • Incomplete • Use Inconsistent and contradicting Information • Support not only logic, facts and probability but hunches, gut feelings, strange ideas onsdag den 18 maj 2011

  32. Engineering Decisions • Reasoning and justification involved is often: • Ill-defined • Ill-structured • Incomplete • Use Inconsistent and contradicting Information • Support not only logic, facts and probability but hunches, gut feelings, strange ideas Suited to Search and Optimization! onsdag den 18 maj 2011

  33. Engineering Decisions • Reasoning and justification involved is often: • Ill-defined • Ill-structured • Incomplete • Use Inconsistent and contradicting Information • Support not only logic, facts and probability but hunches, gut feelings, strange ideas Suited to Search and Optimization! => Possibilistic Reasoning onsdag den 18 maj 2011

  34. What would it mean in reality? onsdag den 18 maj 2011

  35. What would it mean in reality? Real-world feedback from SW Engineers: “Great that we can generate tests automatically but there are too many and we find too many bugs we do not want to bother with” onsdag den 18 maj 2011

  36. What would it mean in reality? Real-world feedback from SW Engineers: “Great that we can generate tests automatically but there are too many and we find too many bugs we do not want to bother with” Can we directly justify the tests we generate? onsdag den 18 maj 2011

  37. What would it mean in reality? Real-world feedback from SW Engineers: “Great that we can generate tests automatically but there are too many and we find too many bugs we do not want to bother with” Can we directly justify the tests we generate? Which decisions/justification space can we search? onsdag den 18 maj 2011

  38. onsdag den 18 maj 2011

  39. Reasons for triangle(3,3,3)? onsdag den 18 maj 2011

  40. Reasons for triangle(3,3,3)? Specification: “ triangle is a method and takes 3 integer arguments that are the length of its sides. Output is ‘equilateral’ if all sides are the same. ...” onsdag den 18 maj 2011

  41. Reasons for triangle(3,3,3)? Specification: “ triangle is a method and takes 3 integer arguments that are the length of its sides. Output is ‘equilateral’ if all sides are the same. ...” I want a high quality system onsdag den 18 maj 2011

  42. Reasons for triangle(3,3,3)? Specification: “ triangle is a method and takes 3 integer arguments that are the length of its sides. Output is ‘equilateral’ if all sides are the same. ...” For a high quality system, I I want a high quality system want to test all methods onsdag den 18 maj 2011

  43. Reasons for triangle(3,3,3)? Specification: “ triangle is a method and takes 3 integer arguments that are the length of its sides. Output is ‘equilateral’ if all sides are the same. ...” For a high quality system, I I want a high quality system want to test all methods triangle is a method onsdag den 18 maj 2011

Recommend


More recommend