CSE 691 Fall 2016
Syllabus: Interaction Testing -- Theory and Practice
This document is available at http://www.public.asu.edu/~ccolbou/src/691syllabusf16.html

CSE 691 is a research topics course. The performance and correctness of complex engineered systems is typically impacted by many factors, each of which can be set to one of many levels, values, or options. Once factors and levels are identified, interaction testing seeks to determine not just the effects of individual levels of factors, but also interactions among small sets of them. Because of this, interaction testing has been extensively used in configuration testing for software and in component-based software design. It has also been employed in hardware testing, network testing, computational learning, biological networks, and the design of screening experiments. In this course we study the theory of interaction test suites:
  1. lower and upper bounds on their sizes
  2. explicit combinatorial and algebraic constructions
  3. randomized, derandomized, and heuristic construction methods
  4. recursive methods for making large test suites from small ones
  5. the ability to locate faults
We also explore practical aspects:
  1. rate of fault detection
  2. forbidden, optional, and required tests
  3. test-aware and cost-aware testing
  4. applications in other areas
Topics can be determined by class interest.

After lectures on August 22, 24, 29, 31, we begin on 7 September to alternate: On each Monday we have a lecture to introduce further background; on each Wednesday, we discuss one or two research papers. The paper(s) will be distributed at least one week in advance. One student will volunteer (or be volunteered) to lead the discussion, but all students will read the paper and have formed opinions about them that they can and will express. My recommendation is that you give each paper a critical reading.

The grading for the class is as follows: