7,441 research outputs found
A constraint solving problem towards unified combinatorial interaction testing
Combinatorial Interaction Testing (CIT) approaches aim to reveal failures caused by the interactions of factors, such as input parameters and configuration options. Our ultimate goal in this line of research is to improve the practicality of CIT approaches. To this end, we have been working on developing what we call Unified Combinatorial Interaction Testing (U-CIT), which not only represents most (if not all) combinatorial objects that have been developed so far, but also allows testers to develop their own application-specific combinatorial objects for testing. However, realizing U-CIT in practice requires us to solve an interesting constraint solving problem. In this work we informally define the problem and present a greedy algorithm to solve it. Our gaol is not so much to present a solution, but to introduce the problem, the solution of which (we believe) is of great practical importance
A Survey of Constrained Combinatorial Testing
Combinatorial Testing (CT) is a potentially powerful testing technique,
whereas its failure revealing ability might be dramatically reduced if it fails
to handle constraints in an adequate and efficient manner. To ensure the wider
applicability of CT in the presence of constrained problem domains, large and
diverse efforts have been invested towards the techniques and applications of
constrained combinatorial testing. In this paper, we provide a comprehensive
survey of representations, influences, and techniques that pertain to
constraints in CT, covering 129 papers published between 1987 and 2018. This
survey not only categorises the various constraint handling techniques, but
also reviews comparatively less well-studied, yet potentially important,
constraint identification and maintenance techniques. Since real-world programs
are usually constrained, this survey can be of interest to researchers and
practitioners who are looking to use and study constrained combinatorial
testing techniques
Fuzzy Adaptive Tuning of a Particle Swarm Optimization Algorithm for Variable-Strength Combinatorial Test Suite Generation
Combinatorial interaction testing is an important software testing technique
that has seen lots of recent interest. It can reduce the number of test cases
needed by considering interactions between combinations of input parameters.
Empirical evidence shows that it effectively detects faults, in particular, for
highly configurable software systems. In real-world software testing, the input
variables may vary in how strongly they interact, variable strength
combinatorial interaction testing (VS-CIT) can exploit this for higher
effectiveness. The generation of variable strength test suites is a
non-deterministic polynomial-time (NP) hard computational problem
\cite{BestounKamalFuzzy2017}. Research has shown that stochastic
population-based algorithms such as particle swarm optimization (PSO) can be
efficient compared to alternatives for VS-CIT problems. Nevertheless, they
require detailed control for the exploitation and exploration trade-off to
avoid premature convergence (i.e. being trapped in local optima) as well as to
enhance the solution diversity. Here, we present a new variant of PSO based on
Mamdani fuzzy inference system
\cite{Camastra2015,TSAKIRIDIS2017257,KHOSRAVANIAN2016280}, to permit adaptive
selection of its global and local search operations. We detail the design of
this combined algorithm and evaluate it through experiments on multiple
synthetic and benchmark problems. We conclude that fuzzy adaptive selection of
global and local search operations is, at least, feasible as it performs only
second-best to a discrete variant of PSO, called DPSO. Concerning obtaining the
best mean test suite size, the fuzzy adaptation even outperforms DPSO
occasionally. We discuss the reasons behind this performance and outline
relevant areas of future work.Comment: 21 page
A Logical Approach to Efficient Max-SAT solving
Weighted Max-SAT is the optimization version of SAT and many important
problems can be naturally encoded as such. Solving weighted Max-SAT is an
important problem from both a theoretical and a practical point of view. In
recent years, there has been considerable interest in finding efficient solving
techniques. Most of this work focus on the computation of good quality lower
bounds to be used within a branch and bound DPLL-like algorithm. Most often,
these lower bounds are described in a procedural way. Because of that, it is
difficult to realize the {\em logic} that is behind.
In this paper we introduce an original framework for Max-SAT that stresses
the parallelism with classical SAT. Then, we extend the two basic SAT solving
techniques: {\em search} and {\em inference}. We show that many algorithmic
{\em tricks} used in state-of-the-art Max-SAT solvers are easily expressable in
{\em logic} terms with our framework in a unified manner.
Besides, we introduce an original search algorithm that performs a restricted
amount of {\em weighted resolution} at each visited node. We empirically
compare our algorithm with a variety of solving alternatives on several
benchmarks. Our experiments, which constitute to the best of our knowledge the
most comprehensive Max-sat evaluation ever reported, show that our algorithm is
generally orders of magnitude faster than any competitor
- …