Learn More
How to represent a graph in memory is a fundamental data structuring question. In the usual representations of an <italic>n</italic>-node graph, the names of the nodes (i.e. integers from 1 to <italic>n</italic>) betray nothing about the graph itself. Indeed, the names (or labels) on the <italic>n</italic> nodes are just log<italic>n</italic> bit place(More)
We formalize a potentially rich new streaming model, the semi-streaming model, that we believe is necessary for the fruitful study of efficient algorithms for solving problems on massive graphs whose edge sets cannot be stored in memory. In this model, the input graph, G = (V, E), is presented as a stream of edges (in adversarial order), and the storage(More)
A <italic>program correctness checker</italic> is an algorithm for checking the output of a computation. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class <italic>P</italic> of problems solvable in polynomial time. It also applies methods of modern cryptography,(More)
Program checking has been thought of merely as checking the computation of a function which does not have any side eeects. We extend the notion of program checking to include programs which alter their environment. In particular, we consider programs which store and retrieve data from memory. Checking such programs is a problem of great practical(More)
We investigate the importance of space when solving problems based on graph distance in the streaming model. In this model, the input graph is presented as a stream of edges in an arbitrary order. The main computational restriction of the model is that we have limited space and therefore cannot store all the streamed data; we are forced to make(More)
A new method that simultaneously aligns and reconstructs ancestral sequences for any number of homologous sequences, when the phylogeny is given, Mol. Biol. Evol. 6(6):649-668m 1989. [22] J. Hein, A tree reconstruction method that is economical in the number of pairwise comparisons used, Mol. { 23 { We examined the methods by which biologists actually(More)
We give a space-efficient, one-pass algorithm for approximating the L 1 difference P i ja i ? b i j between two functions , when the function values a i and b i are given as data streams, and their order is chosen by an adversary. Our main technical innovation is a method of constructing families fV j g of limited-independence random variables that are(More)
We describe Java-MaC, a prototype implementation of the Monitoring and Checking MaC architecture for Java programs. The MaC architecture provides assurance about the correct execution of target programs at run-time. Monitoring and checking is performed based on a formal speciication of system requirements. MaC bridges the gap between formal veriication,(More)
We describe Java-MaC, a prototype implementation of the Monitoring and Checking (MaC) architecture for Java programs. The MaC architecture provides assurance that the target program is running correctly with respect to a formal requirements specification by monitoring and checking the execution of the target program at run-time. MaC bridges the gap between(More)
We describe the Monitoring and Checking (MaC) framework which assures the correctness of the current execution at run-time. Monitoring is performed based on a formal specification of system requirements. MaC bridges the gap between formal specification and verification, which ensures the correctness of a design rather than an implementation, and testing,(More)