Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 3.39 KB

r04.md

File metadata and controls

61 lines (47 loc) · 3.39 KB



 home :: syllabus :: timetable :: groups :: moodle :: chat :: © 2020


Review 4

Define the following terms

  • V-diagram, requirements and their connection to testing
  • unit test, systems test, integration test, acceptance test (alpha, beta)
  • state space (and make an argument that the state space inside software is very large).

TDD

  • Define what is not TDD; specifically, describe the order in which tests are created in the waterfall model
  • Define test-driven-development (include the terms red, green refactor
  • Hansson (2013) warns against driving the design from unit tests. Comment. Include in your answer terms like "greedy search". How might refactoring mitigate (to some extent) for Hansson's concerns?
  • Karac + Turhan (2018) warn that early reports on the value of TDD might have accidentally conflated another effect. What was that effect? (hint: see first question in this list).

Reasoning about Design

Constraints

Consider the following feature map.

  • Suggest some cross-tree Constraints (and maybe some more features) that might make this product line more secure.
  • Given those constraints, describe (a) two mutually exclusive products that make different decisions about the cross-tree constraints; (b) explain why/why-not each product makes those different decisions

Goals

In the Sayyad and Menzies ICSE' 2013 experiment, the software design was expressed as the process of pulling a "product" from a "product line". To do that, that took BIG feature models (much bigger than the one shown above) and added in measurements to each feature for wwere feature was labelled with:

  • BUGS: how many bugs were (previously) seen with this feature
  • TIME: how long it took (previously) to create this feature
  • FAMILIARITY: how often the current developers have used each feature
  • PRECEDENCE: how often this feature appears in the other produced

Using that feature model and these labels:

  • Describe how to find a "good" product (where "good" is uses the above measurements).
  • Multi-objective measures of "goodness" often struggle with mutually-exclusive requirements. Can you think of any ways the above measures could interact, to confuse our definition of "good"?
  • There are four measurements listed above. Can you think of any other ways to measure product "good ness"?

For 1,000,000 points and a Ph.D. answer the following question:

  • What is a genetic algorithm?
  • Sayyad and Menzies explored the GAs listed in Table8 of that paper. Describe the essential difference between IBEA and the rest and why Sayyad and Menzies were do excited about that algorithm?