Covering Arrays, Algorithms & Optimization (CALGO)

  • CAs and their connections to other fields of Discrete Mathematics
  • Modelling methodologies
  • Development of tools
  • Algorithmic generation of Covering Arrays (CAs)
  • Algorithms for coverage measurement
  • Theoretical constructions of CAs

Algebraic Approaches (TAPE)

  • Goal: Use algebraic methods to model, reason about and compute CAs
  • Idea: Translate coverage requirements of CAs to equation systems of multivariate polynomials
  • Methodology: CAs arise as points in varieties when applying solvers relying on Gröbner Bases
  • Real-World Challenges: Runtime of solvers
  • Future Work:
    • Analyse structure of equation systems for dedicated solvers
    • Integrate applied modelling requirements for CAs (constraints, weights, etc.)

A Plug-in construction for CAs

  • Goal: Construct CAs with more factors from CAs with less factors
  • Idea: Adapt plug-in construction from classic design theory for CAs
  • Methodology: Make use of coverage inheritance
  • Application: Combinatorial Testing for contemporary composed Software Design
  • Implementation: Haskell

Set-based appproaches (IFS)

  • Goal: Generation of small CAs
  • Idea: Enforce balancing properties to prune search space
  • Methodology: Coverage property equivalent to intersection property of set systems
  • Real-World Challenges: Runtime
  • Implementation: Haskell

Fast In-Parameter-Order Algorithm - FIPO

  • Focus: Efficient implementation of the IPOG algorithm
    • Result: Orders of magnitude faster CA generation
  • Optimization: Several improvements to existing algorithm
  • Modelling: Two dimensional growth of CAs until complete
  • Implementation: Rust
  • CAgen: Publically available here

CAmetrics - Tool

  • Motivation: Provide a tool for combinatorial analysis for test suites
  • Advantages:
    • Offers more features than existing tools
    • Offers analysis tuned for performance or memory usage
    • Web UI and command line interface
  • CAmetrics: Publically available here