Results 11  20
of
73
Certifying algorithms for recognizing interval graphs and permutation graphs
 SIAM J. COMPUT
, 2006
"... A certifying algorithm for a problem is an algorithm that provides a certificate with each answer that it produces. The certificate is a piece of evidence that proves that the answer has not been compromised by a bug in the implementation. We give lineartime certifying algorithms for recognition o ..."
Abstract

Cited by 32 (7 self)
 Add to MetaCart
A certifying algorithm for a problem is an algorithm that provides a certificate with each answer that it produces. The certificate is a piece of evidence that proves that the answer has not been compromised by a bug in the implementation. We give lineartime certifying algorithms for recognition of interval graphs and permutation graphs, and for a few other related problems. Previous algorithms fail to provide supporting evidence when they claim that the input graph is not a member of the class. We show that our certificates of nonmembership can be authenticated in O(V) time.
Spying on Components: A Runtime Verification Technique
, 2001
"... A natural way to specify componentbased systems is by an interface specification. Such a specification allows clients of a component to know not only its syntactic properties, as is current practice, but also its semantic properties. Any component implementation must be a behavioral refinement of i ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
A natural way to specify componentbased systems is by an interface specification. Such a specification allows clients of a component to know not only its syntactic properties, as is current practice, but also its semantic properties. Any component implementation must be a behavioral refinement of its interface specification. We propose the use of executable specifications and a runtime monitor to check for behavioral equivalence between a component and its specification. Furthermore, we take advantage of the COM infrastructure to perform this kind of runtime verification without any instrumentation of the implementation, i.e., without any recompilation or relinking.
WitnessBased Cryptographic Program Checking and Robust Function Sharing
, 1996
"... We suggest a new methodology for "result checking" that enables us to extend the notion of Blum's program result checking to the online checking of cryptographic functions. In our model, the checker not only needs to be assured of the correctness of the result but the owner of the program needs to ..."
Abstract

Cited by 26 (4 self)
 Add to MetaCart
We suggest a new methodology for "result checking" that enables us to extend the notion of Blum's program result checking to the online checking of cryptographic functions. In our model, the checker not only needs to be assured of the correctness of the result but the owner of the program needs to be sure not to give away anything but the requested result on the (authorized) input. The existing approaches for program result checking of numerical problems often ask the program a number of extra queries (different from the actual input). In the case of cryptographic functions, this may be in contradiction with the security requirement of the program owner. Additional queries, in fact, may be used to gain unauthorized advantage (for example, imagine the implications of the online checking of a decryption device that requires the decryption of extra ciphertexts). In [Blum88], the notion of a simple checker was introduced where, for the purpose of efficiency, extra queries are not allowed...
Runtime verification of .NET contracts
 THE JOURNAL OF SYSTEMS AND SOFTWARE
, 2003
"... We propose a method for implementing behavioral interface specifications on the.NET platform. Our interface specifications are expressed as executable model programs. Model programs can be run either as standalone simulations or used as contracts to check the conformance of an implementation class ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
We propose a method for implementing behavioral interface specifications on the.NET platform. Our interface specifications are expressed as executable model programs. Model programs can be run either as standalone simulations or used as contracts to check the conformance of an implementation class to its specification. We focus on the latter, which we call runtime verification. In our framework, model programs are expressed in the new specification language AsmL. We describe how AsmL can be used to describe contracts independently from any implementation language, how AsmL allows properties of component interaction to be specified using mandatory calls, and how AsmL is used to check the behavior of a component written in any of the.NET languages, such as VB, C], orCþþ.
Secure Distributed Computing in a Commercial Environment
 5th International Conference Financial Cryptography (FC
, 2001
"... The recent successes of a number of nonprofit computing projects distributed over the Internet has generated intense interest in the potential commercial applications of distributed computing. In a commercial setting, where participants might be paid for their contributions, it is crucial to def ..."
Abstract

Cited by 25 (0 self)
 Add to MetaCart
The recent successes of a number of nonprofit computing projects distributed over the Internet has generated intense interest in the potential commercial applications of distributed computing. In a commercial setting, where participants might be paid for their contributions, it is crucial to define a security framework to address the threat of cheating and o#er guarantees that the computation has been correctly executed. This paper defines and analyzes such a security framework predicated on the assumption that participants are motivated by financial gain. We propose a scheme which deters participants from claiming credit for work they have not done, and puts a high cost on attempts to disrupt the computation. We achieve these two goals by integrating an algorithm to assign computations to participants, an algorithm to verify their work, and an algorithm to pay participants.
Fast lightweight suffix array construction and checking
 14th Annual Symposium on Combinatorial Pattern Matching
, 2003
"... We describe an algorithm that, for any v 2 [2; n], constructs the suffix array of a string of length n in O(vn + n log n) time using O(v + n= p v) space in addition to the input (the string) and the output (the suffix array). By setting v = log n, we obtain an O(n log n) time algorithm using O n= p ..."
Abstract

Cited by 25 (5 self)
 Add to MetaCart
We describe an algorithm that, for any v 2 [2; n], constructs the suffix array of a string of length n in O(vn + n log n) time using O(v + n= p v) space in addition to the input (the string) and the output (the suffix array). By setting v = log n, we obtain an O(n log n) time algorithm using O n= p
Reflections on the Pentium Division Bug
, 1995
"... We review the field of resultchecking and suggest that it be extended to a methodology for enforcing hardware/software reliability. We thereby formulate a vision for "selfmonitoring" hardware/software whose reliability is augmented through embedded suites of runtime correctness checkers. In parti ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
We review the field of resultchecking and suggest that it be extended to a methodology for enforcing hardware/software reliability. We thereby formulate a vision for "selfmonitoring" hardware/software whose reliability is augmented through embedded suites of runtime correctness checkers. In particular, we suggest that embedded checkers and correctors may be employed to safeguard against arithmetic errors such as that which has bedeviled the Intel Pentium Microprocessor. We specify checkers and correctors suitable for monitoring the multiplication and division functionalities of an arbitrary arithmetic processor and seamlessly correcting erroneous output which may occur for any reason during the lifetime of the chip.
Prooftransforming compilation of programs with abrupt termination
 In Sixth International Workshop on Specification and Verification of ComponentBased Systems (SAVCBS 2007
, 2007
"... The execution of untrusted bytecode programs can produce undesired behavior. A proof on the bytecode programs can be generated to ensure safe execution. Automatic techniques to generate proofs, such as certifying compilation, can only be used for a restricted set of properties such as type safety. I ..."
Abstract

Cited by 18 (8 self)
 Add to MetaCart
The execution of untrusted bytecode programs can produce undesired behavior. A proof on the bytecode programs can be generated to ensure safe execution. Automatic techniques to generate proofs, such as certifying compilation, can only be used for a restricted set of properties such as type safety. Interactive verification of bytecode is difficult due to its unstructured control flow. Our approach is verify programs on the source level and then translate the proof to the bytecode level. This translation is nontrivial for programs with abrupt termination. We present proof transforming compilation from Java to Java Bytecode. This paper formalizes
Certifying LexBFS recognition algorithms for proper inteval graphs and proper interval bigraphs
 SIAM J. Discrete Math
"... Recently, D. Corneil found a simple 3sweep lexicographic breadth first search (LexBFS) algorithm for the recognition of proper interval graphs. We point out how to modify Corneil’s algorithm to make it a certifying algorithm, and then describe a similar certifying 3sweep LexBFS algorithm for the r ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
Recently, D. Corneil found a simple 3sweep lexicographic breadth first search (LexBFS) algorithm for the recognition of proper interval graphs. We point out how to modify Corneil’s algorithm to make it a certifying algorithm, and then describe a similar certifying 3sweep LexBFS algorithm for the recognition of proper interval bigraphs. It follows from an earlier paper that the class of proper interval bigraphs is equal to the better known class of bipartite permutation graphs, and so we have a certifying algorithm for that class as well. All our algorithms run in time O(m + n), including the certification phase. The certificates of representability (the intervals) can be authenticated in time O(m + n), the certificates of nonrepresentability (the forbidden subgraphs) can be authenticated in time O(n). 1
Contracts, Components, and their Runtime Verification on the .NET Platform
, 2002
"... We propose a method for implementing behavioral interface specifications on the .NET platform. Our interface... ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
We propose a method for implementing behavioral interface specifications on the .NET platform. Our interface...