Results 11  20
of
124
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 44 (9 self)
 Add to MetaCart
(Show Context)
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.
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 37 (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þþ.
A certifying algorithm for the consecutiveones property
, 2004
"... We give a forbidden substructure characterization of set families that have the consecutiveones property, and a linear time algorithm to find the forbidden substructure if a set family does not have the property. The forbidden substructure has size O(n), where n is the size of the domain. The PQ t ..."
Abstract

Cited by 36 (7 self)
 Add to MetaCart
We give a forbidden substructure characterization of set families that have the consecutiveones property, and a linear time algorithm to find the forbidden substructure if a set family does not have the property. The forbidden substructure has size O(n), where n is the size of the domain. The PQ tree is a wellknown data structure for representing all consecutiveones orderings. We show that it is given by a substitution decomposition of arbitrary set families that has not been described previously. This observation gives a generalization of the PQ tree to arbitrary set families, and we give a lineartime algorithm to compute it.
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 35 (5 self)
 Add to MetaCart
(Show Context)
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
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 34 (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.
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 34 (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 pr ..."
Abstract

Cited by 25 (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...
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 21 (4 self)
 Add to MetaCart
(Show Context)
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
Translucid Contracts: Expressive Specification and Modular Verification for AspectOriented Interfaces
 10TH INTERNATIONAL CONFERENCE ON ASPECTORIENTED SOFTWARE DEVELOPMENT (AOSD '11)
, 2010
"... As aspectoriented programming techniques become more widely used, their use in critical systems, including safetycritical systems such as aircraft and missioncritical systems such as telephone networks, will become more widespread. However, careful reasoning about aspectoriented code seems diffi ..."
Abstract

Cited by 20 (4 self)
 Add to MetaCart
As aspectoriented programming techniques become more widely used, their use in critical systems, including safetycritical systems such as aircraft and missioncritical systems such as telephone networks, will become more widespread. However, careful reasoning about aspectoriented code seems difficult with standard specification techniques. The difficulty stems from the difficulty of understanding control effects, such as advice that does not proceed to the original join point, because most common specification techniques do not make it convenient to specify such control effects. In this work we give a simple and understandable specification technique, which we call translucid contracts, that not only allows programmers to write modular specifications for advice and advised code, but also allows them to reason about the code’s control effects. We show that translucid contracts support modular verification of typical interaction patterns used in aspectoriented code. We also show that translucid contracts allow interesting control effects to be understood and enforced. Our proposed specification and verification approach is proved sound.