Corpus ID: 14323643

Agent-Based Distributed Software Verification

  title={Agent-Based Distributed Software Verification},
  author={Chris Hunter and P. Robinson and P. Strooper},
Despite decades of research, the takeup of formal methods for developing provably correct software in industry remains slow. One reason for this is the high cost of proof construction, an activity that, due to the complexity of the required proofs, is typically carried out using interactive theorem provers. In this paper we propose an agent-oriented architecture for interactive theorem proving with the aim of reducing the user interactions (and thus the cost) of constructing software… Expand
A Dynamic System for Distributed Reasoning
It is shown how the same architecture can support both distributed definite clause logic programming, and distributed abductive reasoning using negation-as-failure, using a multi-threaded distributed Prolog system, Qu-Prolog. Expand
Distributed, Multi-threaded Verification of Java Programs
Extended Static Checking (ESC) is a fully automated formal verification technique and is generally quite efficient, as far as verification tools go, but it is still orders of magnitude slower thanExpand
Faster and More Complete Extended Static Checking for the Java Modeling Language
The multi-threaded version of ESC4 and its distributed prover back-end is presented, able to verify many more kinds of methods in part because of its use of novel techniques which apply multiple theorem provers. Expand
DARE: a system for distributed abductive reasoning
A distributed abductive reasoning system is described, which is called DARE, and its implementation in the multi-threaded Qu-Prolog variant of Prolog is described to prove the soundness of the algorithm it uses and its completeness in relation to non-distributed abductionive reasoning. Expand
Array programming in Whiley
This paper explores how array-based programming is enhanced by programming languages which support specifications and invariants over arrays, including Whiley, a programming language designed for verification and employs a verifying compiler to ensure that programs meet their specifications. Expand


Agent-Oriented Integration of Distributed Mathematical Services
This article describes theMathWeb architecture that encapsulates a wide range of traditional mathematical systems each into a social agent-shell and proposes a communication language based on the Knowledge Query and Manipulation Language (KQML) in order to allow conversations between these mathematical agents. Expand
To support formal reasoning in mathematical and software engineering applications, it is desirable to have a generic prover that can be instantiated with a range of logics. This allows the prover toExpand
Fault-Tolerant Distributed Theorem Proving
  • J. Hickey
  • Mathematics, Computer Science
  • CADE
  • 1999
Higher-order logics are often chosen for these endeavors not only because they can formalize meta-principles, but also because they retain the conciseness and intuition of the original design. Expand
Distributed Larch Prover (DLP): An Experiment in Parallelizing a Rewrite-Rule Based Prover
The Distributed Larch Prover, DLP, is a distributed and parallel version of LP, an interactive prover. DLP helps users find proofs by creating and managing many proof attempts that run in parallel.Expand
Developing multiagent systems: The Gaia methodology
It is argued that a multiagent system can naturally be viewed and architected as a computational organization, and the appropriate organizational abstractions that are central to the analysis and design of such systems are identified. Expand
The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver
The contract net protocol has been developed to specify problem-solving communication and control for nodes in a distributed problem solver. Task distribution is affected by a negotiation process, aExpand
A Roadmap of Agent Research and Development
This paper provides an overview of research and development activities in the field of autonomous agents and multi-agent systems. It aims to identify key concepts and applications, and to indicateExpand
An axiomatic basis for computer programming
An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics by elucidation of sets of axioms and rules of inference. Expand
Multi-threading and message communication in Qu-Prolog
The combination of the multi-threads and the high level inter-thread message communications provide simple, powerful support for implementing internet distributed intelligent applications. Expand
Proceedings of the Workshop
A universal, concise definition of an oceanic front is difficult to set down. Rather, the nature of fronts are best perceived through a community of characteristics.