35,754 research outputs found
Discovering Classes of Strongly Equivalent Logic Programs
In this paper we apply computer-aided theorem discovery technique to discover
theorems about strongly equivalent logic programs under the answer set
semantics. Our discovered theorems capture new classes of strongly equivalent
logic programs that can lead to new program simplification rules that preserve
strong equivalence. Specifically, with the help of computers, we discovered
exact conditions that capture the strong equivalence between a rule and the
empty set, between two rules, between two rules and one of the two rules,
between two rules and another rule, and between three rules and two of the
three rules
A General Framework for Automatic Termination Analysis of Logic Programs
This paper describes a general framework for automatic termination analysis
of logic programs, where we understand by ``termination'' the finitenes s of
the LD-tree constructed for the program and a given query. A general property
of mappings from a certain subset of the branches of an infinite LD-tree into a
finite set is proved. From this result several termination theorems are
derived, by using different finite sets. The first two are formulated for the
predicate dependency and atom dependency graphs. Then a general result for the
case of the query-mapping pairs relevant to a program is proved (cf.
\cite{Sagiv,Lindenstrauss:Sagiv}). The correctness of the {\em TermiLog} system
described in \cite{Lindenstrauss:Sagiv:Serebrenik} follows from it. In this
system it is not possible to prove termination for programs involving
arithmetic predicates, since the usual order for the integers is not
well-founded. A new method, which can be easily incorporated in {\em TermiLog}
or similar systems, is presented, which makes it possible to prove termination
for programs involving arithmetic predicates. It is based on combining a finite
abstraction of the integers with the technique of the query-mapping pairs, and
is essentially capable of dividing a termination proof into several cases, such
that a simple termination function suffices for each case. Finally several
possible extensions are outlined
Heap Abstractions for Static Analysis
Heap data is potentially unbounded and seemingly arbitrary. As a consequence,
unlike stack and static memory, heap memory cannot be abstracted directly in
terms of a fixed set of source variable names appearing in the program being
analysed. This makes it an interesting topic of study and there is an abundance
of literature employing heap abstractions. Although most studies have addressed
similar concerns, their formulations and formalisms often seem dissimilar and
some times even unrelated. Thus, the insights gained in one description of heap
abstraction may not directly carry over to some other description. This survey
is a result of our quest for a unifying theme in the existing descriptions of
heap abstractions. In particular, our interest lies in the abstractions and not
in the algorithms that construct them.
In our search of a unified theme, we view a heap abstraction as consisting of
two features: a heap model to represent the heap memory and a summarization
technique for bounding the heap representation. We classify the models as
storeless, store based, and hybrid. We describe various summarization
techniques based on k-limiting, allocation sites, patterns, variables, other
generic instrumentation predicates, and higher-order logics. This approach
allows us to compare the insights of a large number of seemingly dissimilar
heap abstractions and also paves way for creating new abstractions by
mix-and-match of models and summarization techniques.Comment: 49 pages, 20 figure
Mutation testing from probabilistic finite state machines
Mutation testing traditionally involves mutating a program in order to produce a set of mutants and using these mutants in order to either estimate the effectiveness of a test suite or to drive test generation. Recently, however, this approach has been applied to specifications such as those written as finite state machines. This paper extends mutation testing to finite state machine models in which transitions have associated probabilities. The paper describes several ways of mutating a probabilistic finite state machine (PFSM) and shows how test sequences that distinguish between a PFSM and its mutants can be generated. Testing then involves applying each test sequence multiple times, observing the resultant output sequences and using results from statistical sampling theory in order to compare the observed frequency of each output sequence with that expected
Recommended from our members
Using Experiments to Foster Innovation and Improve the Effectiveness of Energy Efficiency Programs
This paper argues that the establishment of a process designed to manage innovation must be developed in California to foster the creation of needed program improvements and develop new and more effective energy efficiency delivery programs. This paper discusses several key institutional problems that must be overcome to achieve significant progress
CrocoPat 2.1 Introduction and Reference Manual
CrocoPat is an efficient, powerful and easy-to-use tool for manipulating
relations of arbitrary arity, including directed graphs. This manual provides
an introduction to and a reference for CrocoPat and its programming language
RML. It includes several application examples, in particular from the analysis
of structural models of software systems.Comment: 19 pages + cover, 2 eps figures, uses llncs.cls and
cs_techrpt_cover.sty, for downloading the source code, binaries, and RML
examples, see http://www.software-systemtechnik.de/CrocoPat
Computational reverse mathematics and foundational analysis
Reverse mathematics studies which subsystems of second order arithmetic are
equivalent to key theorems of ordinary, non-set-theoretic mathematics. The main
philosophical application of reverse mathematics proposed thus far is
foundational analysis, which explores the limits of different foundations for
mathematics in a formally precise manner. This paper gives a detailed account
of the motivations and methodology of foundational analysis, which have
heretofore been largely left implicit in the practice. It then shows how this
account can be fruitfully applied in the evaluation of major foundational
approaches by a careful examination of two case studies: a partial realization
of Hilbert's program due to Simpson [1988], and predicativism in the extended
form due to Feferman and Sch\"{u}tte.
Shore [2010, 2013] proposes that equivalences in reverse mathematics be
proved in the same way as inequivalences, namely by considering only
-models of the systems in question. Shore refers to this approach as
computational reverse mathematics. This paper shows that despite some
attractive features, computational reverse mathematics is inappropriate for
foundational analysis, for two major reasons. Firstly, the computable
entailment relation employed in computational reverse mathematics does not
preserve justification for the foundational programs above. Secondly,
computable entailment is a complete relation, and hence employing it
commits one to theoretical resources which outstrip those available within any
foundational approach that is proof-theoretically weaker than
.Comment: Submitted. 41 page
The use of data-mining for the automatic formation of tactics
This paper discusses the usse of data-mining for the automatic formation of tactics. It was presented at the Workshop on Computer-Supported Mathematical Theory Development held at IJCAR in 2004. The aim of this project is to evaluate the applicability of data-mining techniques to the automatic formation of tactics from large corpuses of proofs. We data-mine information from large proof corpuses to find commonly occurring patterns. These patterns are then evolved into tactics using genetic programming techniques
- …