Results 11  20
of
147
Combining theorem proving with static analysis for data structure consistency
 In International Workshop on Software Verification and Validation (SVV 2004
, 2004
"... Abstract We describe an approach for combining theorem proving techniques with static analysis to analyze data structure consistency for programs that manipulate heterogeneous data structures. Our system uses interactive theorem proving and shape analysis to verify that data structure implementation ..."
Abstract

Cited by 22 (16 self)
 Add to MetaCart
(Show Context)
Abstract We describe an approach for combining theorem proving techniques with static analysis to analyze data structure consistency for programs that manipulate heterogeneous data structures. Our system uses interactive theorem proving and shape analysis to verify that data structure implementations conform to set interfaces. A simpler static analysis then uses the verified set interfaces to verify properties that characterize how shared objects participate in multiple data structures. We have successfully applied this technique to several programs and found that theorem proving within circumscribed regions of the program combined with static analysis enables the verification of largescale program properties.
Security Protocols over open networks and distributed systems: Formal methods for their Analysis, Design, and Verification
 Computer Communications
, 1999
"... Formal methods, theory, and supporting tools can aid the design, analysis, and verification of the security related and cryptographic protocols used over open networks and distributed systems. The most commonly followed techniques for the application of formal methods for the expost analysis and v ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
(Show Context)
Formal methods, theory, and supporting tools can aid the design, analysis, and verification of the security related and cryptographic protocols used over open networks and distributed systems. The most commonly followed techniques for the application of formal methods for the expost analysis and verification of cryptographic protocols, as the analysis approach, are reviewed, followed by the examination of robustness principles and application limitations. Modern highlevel specification languages and tools can be used for automatically analysing cryptographic protocols. Recent research work focuses on the exante use of formal methods in the design stage of new security protocols, as the synthesis approach. Finally, an outline is presented on current trends for the utilisation of formal methods for the analysis and verification of modern complicated protocols and protocol suites for the real commercial world. Keywords Protocol Analysis Tools, Formal methods, Security protocols, Cry...
Automating Test Case Generation from Z Specifications with Isabelle
 LECTURE NOTES IN COMPUTER SCIENCE
, 1997
"... We use a structure preserving encoding of Z in the higherorder logic instance of the generic theorem prover Isabelle to derive test cases from Z specifications. This work shows how advanced theorem provers can be used with little effort to provide tool support for Z beyond mere typechecking. Exp ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
We use a structure preserving encoding of Z in the higherorder logic instance of the generic theorem prover Isabelle to derive test cases from Z specifications. This work shows how advanced theorem provers can be used with little effort to provide tool support for Z beyond mere typechecking. Experience with a nontrivial example shows that modular reasoning according to the structure of a specification is crucial to keep the proofload manageable in practical applications. Support for modular reasoning can be based on higherorder equational reasoning as implemented in Isabelle.
Reuse of proofs in software verification
 Foundations of Software Technology and Theoretical Computer Science
, 1993
"... This paper presents a method for automated reuse of proofs in software verication. Proofs about programs as well as proof attempts are used to guide the verification of modified programs, particularly of program corrections. We illustrate the phenomenon of reusability, present an evolutionary verifi ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
This paper presents a method for automated reuse of proofs in software verication. Proofs about programs as well as proof attempts are used to guide the verification of modified programs, particularly of program corrections. We illustrate the phenomenon of reusability, present an evolutionary verification process model and discuss theoretical and technical aspects. Finally, we report on case studies with an implementation of this method in the Karlsruhe Interactive Verifier (KIV).
Verifying a Distributed Database Lookup Manager Written in Erlang
, 1999
"... We describe a casestudy in which formal methods were used to verify an important responsiveness property of a distributed database system which is used heavily at Ericsson in a number of recent products. One of the aims of the project was to verify the actual running code which is written in ..."
Abstract

Cited by 20 (9 self)
 Add to MetaCart
We describe a casestudy in which formal methods were used to verify an important responsiveness property of a distributed database system which is used heavily at Ericsson in a number of recent products. One of the aims of the project was to verify the actual running code which is written in the distributed functional language Erlang. In a joint project between SICS and Ericsson we have over the past few years been developing a tableaubased verication tool for Erlang of considerable scope. In particular, we are capable of addressing  on the level of running program code  systems with unbounded behaviour along the many dimensions in which this happens in "real" programs, involving datatypes, recursive control structures, error handling and recovery, initialisation, and dynamic process creation. The database lookup manager considered here contains most of these features, giving rise to innite state behaviour which is not very adequately handled using model checking o...
Algorithms for Equality and Unification in the Presence of Notational Definitions
 Types for Proofs and Programs
, 1998
"... this paper we investigate the interaction of notational definitions with algorithms for testing equality and unification. We propose a syntactic criterion on definitions which avoids their expansion in many cases without losing soundness or completeness with respect to fi fficonversion. Our setting ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
this paper we investigate the interaction of notational definitions with algorithms for testing equality and unification. We propose a syntactic criterion on definitions which avoids their expansion in many cases without losing soundness or completeness with respect to fi fficonversion. Our setting is the dependently typed calculus [HHP93], but, with minor modifications, our results should apply to richer type theories and logics. The question when definitions need to be expanded is surprisingly subtle and of great practical importance. Most algorithms for equality and unification rely on decomposing a problem
Recursion for HigherOrder Encodings
"... This paper describes a calculus of partial recursive functions that range over arbitrary and possibly higherorder objects in LF [HHP93]. Its most novel features include recursion under lambdabinders and matching against dynamically introduced parameters. ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
This paper describes a calculus of partial recursive functions that range over arbitrary and possibly higherorder objects in LF [HHP93]. Its most novel features include recursion under lambdabinders and matching against dynamically introduced parameters.
Correct and UserFriendly Implementations of Transformation Systems
, 1996
"... . We present an approach to integrate several existing tools and methods to a technical framework for correctly developing and executing program transformations. The resulting systems enable program derivations in a userfriendly way. We illustrate the approach by proving and implementing the transf ..."
Abstract

Cited by 18 (9 self)
 Add to MetaCart
. We present an approach to integrate several existing tools and methods to a technical framework for correctly developing and executing program transformations. The resulting systems enable program derivations in a userfriendly way. We illustrate the approach by proving and implementing the transformation Global Search on the basis of the tactical theorem prover Isabelle. A graphical userinterface based on the XWindow toolkit Tk provides user friendly access to the underlying machinery. 1 Introduction Development by transformation is a prominent approach in formal program development (CIP [Bau + 85], PROSPECTRA [HK 93], KIDS [Smi 90]). Many case studies have proven its feasibility and demonstrated how much more abstract and useroriented developments could be achieved than using usual postverification approaches (fundamental for systems like PVS [OSR 93]). One recent case study is [KW 95]; and a prominent one is [SPW 95] where a strategic transportation scheduling algorithm is de...
CASL: From Semantics to Tools
 TACAS 2000, LNCS 1785
, 2000
"... CASL, the common algebraic specification language, has been developed as a language that subsumes many previous algebraic specification frameworks and also provides tool interoperability. CASL is a complex language with a complete formal semantics. It is therefore a challenge to build good tools for ..."
Abstract

Cited by 16 (10 self)
 Add to MetaCart
(Show Context)
CASL, the common algebraic specification language, has been developed as a language that subsumes many previous algebraic specification frameworks and also provides tool interoperability. CASL is a complex language with a complete formal semantics. It is therefore a challenge to build good tools for CASL. In this work, we present and discuss the Bremen HOLCASL system, which provides parsing, static checking, conversion to LaTeX and theorem proving for CASL specifications. To make tool construction manageable, we have followed some guidelines: reuse of existing tools, interoperability of tools developed at different sites, and construction of generic tools that can be used for several languages. We describe the structure of and the experiences with our tool and discuss how the guidelines work in practice.
Structures for Symbolic Mathematical Reasoning and Computation
 DESIGN AND IMPLEMENTATION OF SYMBOLIC COMPUTATION SYSTEMS, DISCO'96, NUMBER1128 IN LNCS
, 1996
"... Recent research towards integrating symbolic mathematical reasoning and computation has led to prototypes of interfaces and environments. This paper introduces computation theories and structures to represent mathematical objects and applications of algorithms occuring in algorithmic services. The ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
(Show Context)
Recent research towards integrating symbolic mathematical reasoning and computation has led to prototypes of interfaces and environments. This paper introduces computation theories and structures to represent mathematical objects and applications of algorithms occuring in algorithmic services. The composition of reasoning and computation theories and structures provide a formal framework for the specification of symbolic mathematical problem solving by cooperation of algorithms and theorems.