3,031 research outputs found
Max-CSP Approach for Software Diagnosis
In software development is essential to have tools for the
software diagnosis to help the programmers and development engineers
to locate the bugs. In this paper, we propose a new approach that identifies
the possible bugs and detect why the program does not satisfy the
specified result. A typical diagnosis problem is built starting from the
structure and semantics of the original source code and the precondition
and postcondition formal specifications. When we apply a determined
test case to a program and this program fails, then we can use our
methodology in order to obtain automatically the sentence or the set
of sentences that contains the bug. The originality of our methodology
is due to the use of a constraint-based model for software and Max-CSP
techniques to obtain the minimal diagnosis and to avoid explicitly to
build the functional dependency graph
Diagnosing Errors in DbC Programs Using Constraint Programming
Model-Based Diagnosis allows to determine why a correctly
designed system does not work as it was expected. In this paper, we propose
a methodology for software diagnosis which is based on the combination
of Design by Contract, Model-Based Diagnosis and Constraint
Programming. The contracts are specified by assertions embedded in the
source code. These assertions and an abstraction of the source code are
transformed into constraints, in order to obtain the model of the system.
Afterwards, a goal function is created for detecting which assertions or
source code statements are incorrect. The application of this methodology
is automatic and is based on Constraint Programming techniques.
The originality of this work stems from the transformation of contracts
and source code into constraints, in order to determine which assertions
and source code statements are not consistent with the specification.Ministerio de Ciencia y Tecnología DPI2003-07146-C02-0
Mapping constrained optimization problems to quantum annealing with application to fault diagnosis
Current quantum annealing (QA) hardware suffers from practical limitations
such as finite temperature, sparse connectivity, small qubit numbers, and
control error. We propose new algorithms for mapping boolean constraint
satisfaction problems (CSPs) onto QA hardware mitigating these limitations. In
particular we develop a new embedding algorithm for mapping a CSP onto a
hardware Ising model with a fixed sparse set of interactions, and propose two
new decomposition algorithms for solving problems too large to map directly
into hardware.
The mapping technique is locally-structured, as hardware compatible Ising
models are generated for each problem constraint, and variables appearing in
different constraints are chained together using ferromagnetic couplings. In
contrast, global embedding techniques generate a hardware independent Ising
model for all the constraints, and then use a minor-embedding algorithm to
generate a hardware compatible Ising model. We give an example of a class of
CSPs for which the scaling performance of D-Wave's QA hardware using the local
mapping technique is significantly better than global embedding.
We validate the approach by applying D-Wave's hardware to circuit-based
fault-diagnosis. For circuits that embed directly, we find that the hardware is
typically able to find all solutions from a min-fault diagnosis set of size N
using 1000N samples, using an annealing rate that is 25 times faster than a
leading SAT-based sampling method. Further, we apply decomposition algorithms
to find min-cardinality faults for circuits that are up to 5 times larger than
can be solved directly on current hardware.Comment: 22 pages, 4 figure
Recommended from our members
Automated generation of computationally hard feature models using evolutionary algorithms
This is the post-print version of the final paper published in Expert Systems with Applications. The published article is available from the link below. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. Copyright @ 2014 Elsevier B.V.A feature model is a compact representation of the products of a software product line. The automated extraction of information from feature models is a thriving topic involving numerous analysis operations, techniques and tools. Performance evaluations in this domain mainly rely on the use of random feature models. However, these only provide a rough idea of the behaviour of the tools with average problems and are not sufficient to reveal their real strengths and weaknesses. In this article, we propose to model the problem of finding computationally hard feature models as an optimization problem and we solve it using a novel evolutionary algorithm for optimized feature models (ETHOM). Given a tool and an analysis operation, ETHOM generates input models of a predefined size maximizing aspects such as the execution time or the memory consumption of the tool when performing the operation over the model. This allows users and developers to know the performance of tools in pessimistic cases providing a better idea of their real power and revealing performance bugs. Experiments using ETHOM on a number of analyses and tools have successfully identified models producing much longer executions times and higher memory consumption than those obtained with random models of identical or even larger size.European Commission (FEDER), the Spanish Government and
the Andalusian Government
Diagnosis applied CSP based on models
En las ´ultimas d´ecadas, parte de la comunidad cient´ıfica ha dedicado sus esfuerzos al desarrollo de una
metodolog´ıa para la diagnosis de sistemas desde el campo de la Inteligencia Artificial. Dicha metodolog´ıa se
denomina diagnosis basada en modelos, y cubre un amplio abanico de posibilidades. Se parte de un modelo
expl´ıcito del sistema a diagnosticar y a partir de ´el se razona sobre la identificaci´on de los subsistemas que
generan fallos, utilizando para ello los valores de las entradas proporcionadas y las salidas captadas del
sistema. En cualquier proceso de producci´on o desarrollo es importante tener un control sobre los fallos en
componentes o procesos. La diagnosis permite controlar estas irregularidades, lo que conlleva a los sistemas
que la incorporan una mayor seguridad y reducci´on de costos.
Algunos modelos utilizados en ingenier´ıa se han basado en la programaci´on l´ogica con restricciones (CLP)
para obtener la diagnosis de un sistema. En este art´ıculo proponemos la metodolog´ıa necesaria para poder
plantear la diagnosis de un sistema como un problema de satisfacci´on de restricciones (CSP). De esta forma,
ser´a posible incorporar al proceso de generaci´on de la diagnosis de un sistema, los avances y optimizaciones
que se han alcanzado en el campo de la b´usqueda de soluciones para problemas CSP. Plantear un problema
de diagnosis de esta forma abre tambi´en la posibilidad de aplicar la diagnosis a otros campos, como por
ejemplo la diagnosis del software. La diagnosis del software permite identificar y localizar el origen de los
errores de un desarrollo software. Un programa tendr´a un error si no existe concordancia entre los resultados
especificados como correctos y los resultados observados tras la ejecuci´on.In the last decades, model-based diagnosis has been an active research topic for the Artificial
Intelligence community. It uses the explicit model of a system, the system inputs and the measured
system outputs, in order to identify the subsystems that can generate faults. The system or the process
that incorporates diagnosis may reduce costs and provide more security.
Some models used in engineering are based on constraint logic programming (CLP) in order to obtain
the system diagnosis. In this paper we propose a methodology for the system diagnosis as a constraint
satisfaction problem (CSP). Using this methodology it is possible to incorporate, the advances and
optimizations achieved for the search of solutions in CSP. This methodology also offers the possibility
of applying diagnosis to other areas, such as software diagnosis. Software diagnosis allows the
identification of the program bugs. A bug occurs when there is not matching between the specified
results and the observed results after a program execution.Ministerio de Ciencia y Tecnología DPI2000-0666-C02-0
Developing a labelled object-relational constraint database architecture for the projection operator
Current relational databases have been developed in order to improve the handling of
stored data, however, there are some types of information that have to be analysed for
which no suitable tools are available. These new types of data can be represented and treated
as constraints, allowing a set of data to be represented through equations, inequations
and Boolean combinations of both. To this end, constraint databases were defined and
some prototypes were developed. Since there are aspects that can be improved, we propose
a new architecture called labelled object-relational constraint database (LORCDB). This provides
more expressiveness, since the database is adapted in order to support more types of
data, instead of the data having to be adapted to the database. In this paper, the projection
operator of SQL is extended so that it works with linear and polynomial constraints and
variables of constraints. In order to optimize query evaluation efficiency, some strategies
and algorithms have been used to obtain an efficient query plan.
Most work on constraint databases uses spatiotemporal data as case studies. However,
this paper proposes model-based diagnosis since it is a highly potential research area,
and model-based diagnosis permits more complicated queries than spatiotemporal examples.
Our architecture permits the queries over constraints to be defined over different sets
of variables by using symbolic substitution and elimination of variables.Ministerio de Ciencia y Tecnología DPI2006-15476-C02-0
Model-Based Software Debugging
The complexity and size of software systems have rapidly increased in recent years, with software engineers facing ever-growing challenges in building and maintaining such systems. In particular, testing and debugging, that is, finding, isolating, and eliminating defects in software systems still constitute a major challenge in practiceMinisterio de Ciencia y Tecnología TIN2015-63502-C3-2-RFundacao para a Ciencia e a Tecnologia (FCT) UID/EEA/50014/2013European Regional Development Fund (ERDF) POCI-01-0145-FEDER-006961 (COMPETE 2020
Constraint satisfaction techniques for diagnosing errors in Design by Contract software
Design by Contract enables the development of more reliable
and robust software applications. In this paper, a methodology
that diagnoses errors in software is proposed. This
is based on the combination of Design by Contract, Modelbased
Diagnosis and Constraint Programming. Contracts
are specified by using assertions. These assertions together
with an abstraction of the source code are transformed into
constraints. The methodology detects if the contracts are
consistent, and if there are incompatibilities between contracts
and source code. The process is automatic and is
based on constraint programming.Ministerio de Ciencia y Tecnología DPI2003-07146-C02-0
- …