18,428 research outputs found
Recommended from our members
Using formal methods to support testing
Formal methods and testing are two important approaches that assist in the development of high quality software. While traditionally these approaches have been seen as rivals, in recent
years a new consensus has developed in which they are seen as complementary. This article reviews the state of the art regarding ways in which the presence of a formal specification can be used to assist testing
Towards Statistical Prioritization for Software Product Lines Testing
Software Product Lines (SPL) are inherently difficult to test due to the
combinatorial explosion of the number of products to consider. To reduce the
number of products to test, sampling techniques such as combinatorial
interaction testing have been proposed. They usually start from a feature model
and apply a coverage criterion (e.g. pairwise feature interaction or
dissimilarity) to generate tractable, fault-finding, lists of configurations to
be tested. Prioritization can also be used to sort/generate such lists,
optimizing coverage criteria or weights assigned to features. However, current
sampling/prioritization techniques barely take product behavior into account.
We explore how ideas of statistical testing, based on a usage model (a Markov
chain), can be used to extract configurations of interest according to the
likelihood of their executions. These executions are gathered in featured
transition systems, compact representation of SPL behavior. We discuss possible
scenarios and give a prioritization procedure illustrated on an example.Comment: Extended version published at VaMoS '14
(http://dx.doi.org/10.1145/2556624.2556635
Taming a non-convex landscape with dynamical long-range order: memcomputing Ising benchmarks
Recent work on quantum annealing has emphasized the role of collective
behavior in solving optimization problems. By enabling transitions of clusters
of variables, such solvers are able to navigate their state space and locate
solutions more efficiently despite having only local connections between
elements. However, collective behavior is not exclusive to quantum annealers,
and classical solvers that display collective dynamics should also possess an
advantage in navigating a non-convex landscape. Here, we give evidence that a
benchmark derived from quantum annealing studies is solvable in polynomial time
using digital memcomputing machines, which utilize a collection of dynamical
components with memory to represent the structure of the underlying
optimization problem. To illustrate the role of memory and clarify the
structure of these solvers we propose a simple model of these machines that
demonstrates the emergence of long-range order. This model, when applied to
finding the ground state of the Ising frustrated-loop benchmarks, undergoes a
transient phase of avalanches which can span the entire lattice and
demonstrates a connection between long-range behavior and their probability of
success. These results establish the advantages of computational approaches
based on collective dynamics of continuous dynamical systems
kLog: A Language for Logical and Relational Learning with Kernels
We introduce kLog, a novel approach to statistical relational learning.
Unlike standard approaches, kLog does not represent a probability distribution
directly. It is rather a language to perform kernel-based learning on
expressive logical and relational representations. kLog allows users to specify
learning problems declaratively. It builds on simple but powerful concepts:
learning from interpretations, entity/relationship data modeling, logic
programming, and deductive databases. Access by the kernel to the rich
representation is mediated by a technique we call graphicalization: the
relational representation is first transformed into a graph --- in particular,
a grounded entity/relationship diagram. Subsequently, a choice of graph kernel
defines the feature space. kLog supports mixed numerical and symbolic data, as
well as background knowledge in the form of Prolog or Datalog programs as in
inductive logic programming systems. The kLog framework can be applied to
tackle the same range of tasks that has made statistical relational learning so
popular, including classification, regression, multitask learning, and
collective classification. We also report about empirical comparisons, showing
that kLog can be either more accurate, or much faster at the same level of
accuracy, than Tilde and Alchemy. kLog is GPLv3 licensed and is available at
http://klog.dinfo.unifi.it along with tutorials
- …