3,521 research outputs found
SPEEDY: An Eclipse-based IDE for invariant inference
SPEEDY is an Eclipse-based IDE for exploring techniques that assist users in
generating correct specifications, particularly including invariant inference
algorithms and tools. It integrates with several back-end tools that propose
invariants and will incorporate published algorithms for inferring object and
loop invariants. Though the architecture is language-neutral, current SPEEDY
targets C programs. Building and using SPEEDY has confirmed earlier experience
demonstrating the importance of showing and editing specifications in the IDEs
that developers customarily use, automating as much of the production and
checking of specifications as possible, and showing counterexample information
directly in the source code editing environment. As in previous work,
automation of specification checking is provided by back-end SMT solvers.
However, reducing the effort demanded of software developers using formal
methods also requires a GUI design that guides users in writing, reviewing, and
correcting specifications and automates specification inference.Comment: In Proceedings F-IDE 2014, arXiv:1404.578
Invariant discovery and refinement plans for formal modelling in Event-B
The continuous growth of complex systems makes the development of correct software
increasingly challenging. In order to address this challenge, formal methods o er rigorous
mathematical techniques to model and verify the correctness of systems. Refinement
is one of these techniques. By allowing a developer to incrementally introduce design
details, refinement provides a powerful mechanism for mastering the complexities that
arise when formally modelling systems. Here the focus is on a posit-and-prove style of
refinement, where a design is developed as a series of abstract models introduced via
refinement steps. Each refinement step generates proof obligations which must be discharged
in order to verify its correctness ā typically requiring a user to understand the
relationship between modelling and reasoning.
This thesis focuses on techniques to aid refinement-based formal modelling, specifically,
when a user requires guidance in order to overcome a failed refinement step. An integrated
approach has been followed: combining the complementary strengths of bottomup
theory formation, in which theories about domains are built based on basic background
information; and top-down planning, in which meta-level reasoning is used to guide the
search for correct models.
On the theory formation perspective, we developed a technique for the automatic discovery
of invariants. Refinement requires the definition of properties, called invariants,
which relate to the design. Formulating correct and meaningful invariants can be tedious
and a challenging task. A heuristic approach to the automatic discovery of invariants has
been developed building upon simulation, proof-failure analysis and automated theory
formation. This approach exploits the close interplay between modelling and reasoning
in order to provide systematic guidance in tailoring the search for invariants for a given
model.
On the planning perspective, we propose a new technique called refinement plans.
Refinement plans provide a basis for automatically generating modelling guidance when
a step fails but is close to a known pattern of refinement. This technique combines both
modelling and reasoning knowledge, and, contrary to traditional pattern techniques, allow
the analysis of failure and partial matching. Moreover, when the guidance is only partially
instantiated, and it is suitable, refinement plans provide specialised knowledge to further
tailor the theory formation process in an attempt to fully instantiate the guidance.
We also report on a series of experiments undertaken in order to evaluate the approaches
and on the implementation of both techniques into prototype tools. We believe
the techniques presented here allow the developer to focus on design decisions rather than
on analysing low-level proof failures
Automated conjecturing III : property-relations conjectures
Discovery in mathematics is a prototypical intelligent behavior, and an early and continuing goal of artificial intelligence research. We present a heuristic for producing mathematical conjectures of a certain typical form and demonstrate its utility. Our program conjectures relations that hold between properties of objects (property-relation conjectures). These objects can be of a wide variety of types. The statements are true for all objects known to the program, and are the simplest statements which are true of all these objects. The examples here include new conjectures for the hamiltonicity of a graph, a well-studied property of graphs. While our motivation and experiments have been to produce mathematical conjectures-and to contribute to mathematical research-other kinds of interesting property-relation conjectures can be imagined, and this research may be more generally applicable to the development of intelligent machinery
On the Notion of Interestingness in Automated Mathematical Discovery
Deciding whether something is interesting or not is of central importance in automated mathematical discovery, as it helps determine both the search space and search strategy for finding and evaluating concepts and conjectures
Ideas for a high-level proof strategy language
ABSTRACT Finding ways to prove theorems mechanically was one of the earliest challenges tackled by the AI community. Notable progress has been made but there is still always a limit to any set of heuristic search techniques. From a proof done by human users, we wish to find out whether AI techniques can also be used to learn from a human user. AI4FM (Artificial Intelligence for Formal Methods) is a four-year project that starts officially in April 2010 (see www.AI4FM.org). It focuses on helping users of "formal methods" many of which give rise to proof obligations that have to be (mechanically) verified (by a theorem prover). In industrial-sized developments, there are often a large number of proof obligations and, whilst many of them succumb to similar proof strategies, those that remain can hold up engineers trying to use formal methods. The goal of AI4FM is to learn enough from one manual proof, to discharge proof obligations automatically that yield to similar proof strategies. To achieve this, a high-level (proof) strategy language is required, and in this paper we outline some ideas of such language, and towards extracting them. * During this work Gudmund Grov has been employed jointly by University of Edinburgh and Newcastle University. and constrained use of Z [FW08] -is the so-called "posit and prove" approach: a designer posits development steps and then justifies that they satisfy earlier specifications by discharging (often automatically generated) proof obligations (POs). A large proportion of these POs can be discharged by automatic theorem provers but "some" proofs require user interaction. Quantifying "some" is hard since it depends on many factors such as the domain, technology and methodology used -it could be as little as 3% or as much as 40%. For example, the Paris Metro line 14, developed in the Bmethod, generated 27, 800 POs (of which around 2, 250 required user-interaction) [Abr07] -the need for interactive proofs is clearly still a bottleneck in industrial application of FM, notwithstanding high degree of automation. THE FORMAL METHODS PROBLE
TopologyNet: Topology based deep convolutional neural networks for biomolecular property predictions
Although deep learning approaches have had tremendous success in image, video
and audio processing, computer vision, and speech recognition, their
applications to three-dimensional (3D) biomolecular structural data sets have
been hindered by the entangled geometric complexity and biological complexity.
We introduce topology, i.e., element specific persistent homology (ESPH), to
untangle geometric complexity and biological complexity. ESPH represents 3D
complex geometry by one-dimensional (1D) topological invariants and retains
crucial biological information via a multichannel image representation. It is
able to reveal hidden structure-function relationships in biomolecules. We
further integrate ESPH and convolutional neural networks to construct a
multichannel topological neural network (TopologyNet) for the predictions of
protein-ligand binding affinities and protein stability changes upon mutation.
To overcome the limitations to deep learning arising from small and noisy
training sets, we present a multitask topological convolutional neural network
(MT-TCNN). We demonstrate that the present TopologyNet architectures outperform
other state-of-the-art methods in the predictions of protein-ligand binding
affinities, globular protein mutation impacts, and membrane protein mutation
impacts.Comment: 20 pages, 8 figures, 5 table
A Survey of Symbolic Execution Techniques
Many security and software testing applications require checking whether
certain properties of a program hold for any possible usage scenario. For
instance, a tool for identifying software vulnerabilities may need to rule out
the existence of any backdoor to bypass a program's authentication. One
approach would be to test the program using different, possibly random inputs.
As the backdoor may only be hit for very specific program workloads, automated
exploration of the space of possible inputs is of the essence. Symbolic
execution provides an elegant solution to the problem, by systematically
exploring many possible execution paths at the same time without necessarily
requiring concrete inputs. Rather than taking on fully specified input values,
the technique abstractly represents them as symbols, resorting to constraint
solvers to construct actual instances that would cause property violations.
Symbolic execution has been incubated in dozens of tools developed over the
last four decades, leading to major practical breakthroughs in a number of
prominent software reliability applications. The goal of this survey is to
provide an overview of the main ideas, challenges, and solutions developed in
the area, distilling them for a broad audience.
The present survey has been accepted for publication at ACM Computing
Surveys. If you are considering citing this survey, we would appreciate if you
could use the following BibTeX entry: http://goo.gl/Hf5FvcComment: This is the authors pre-print copy. If you are considering citing
this survey, we would appreciate if you could use the following BibTeX entry:
http://goo.gl/Hf5Fv
Mathematical applications of inductive logic programming
Accepted versio
- ā¦