Results 11  20
of
78
Incremental algorithms for interprocedural analysis of safety properties
, 2005
"... Automatonbased static program analysis has proved to be an effective tool for bug finding. Current tools generally reanalyze a program from scratch in response to a change in the code, which can result in much duplicated effort. We present an interprocedural algorithm that analyzes incrementally ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Automatonbased static program analysis has proved to be an effective tool for bug finding. Current tools generally reanalyze a program from scratch in response to a change in the code, which can result in much duplicated effort. We present an interprocedural algorithm that analyzes incrementally in response to program changes and present experiments for a nullpointer dereference analysis. It shows a substantial speedup over reanalysis from scratch, with a manageable amount of disk space used to store information between analysis runs.
Query preserving graph compression
 In SIGMOD
, 2012
"... It is common to find graphs with millions of nodes and billions of edges in, e.g., social networks. Queries on such graphs are often prohibitively expensive. These motivate us to propose query preserving graph compression, to compress graphs relative to a class Q of queries of users ’ choice. We c ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
(Show Context)
It is common to find graphs with millions of nodes and billions of edges in, e.g., social networks. Queries on such graphs are often prohibitively expensive. These motivate us to propose query preserving graph compression, to compress graphs relative to a class Q of queries of users ’ choice. We compute a small Gr from a graph G such that (a) for any query Q ∈ Q, Q(G) = Q′(Gr), where Q ′ ∈ Q can be efficiently computed from Q; and (b) any algorithm for computing Q(G) can be directly applied to evaluating Q ′ on Gr as is. That is, while we cannot lower the complexity of evaluating graph queries, we reduce data graphs while preserving the answers to all the queries in Q. To verify the effectiveness of this approach, (1) we develop compression strategies for two classes of queries: reachability and graph pattern queries via (bounded) simulation. We show that graphs can be efficiently compressed via a reachability equivalence relation and graph bisimulation, respectively, while preserving query answers. (2) We provide techniques for maintaining compressed graph Gr in response to changes ΔG to the original graph G. We show that the incremental maintenance problems are unbounded for the two classes of queries, i.e., their costs are not a function of the size of ΔG and changes in Gr. Nevertheless, we develop incremental algorithms that depend only on ΔG and Gr, independent of G, i.e., we do not have to decompress Gr to propagate the changes. (3) Using reallife data, we experimentally verify that our compression techniques could reduce graphs in average by 95% for reachability and 57 % for graph pattern matching, and that our incremental maintenance algorithms are efficient. Categories and Subject Descriptors F.2 [Analysis of algorithms and problem complexity]: Nonnumerical algorithms and problems—graph compression
A Fully Dynamic Algorithm for Distributed Shortest Paths
 Theoretical Computer Science
, 2003
"... We propose a fullydynamic distributed algorithm for the allpairs shortest paths problem on general networks with positive real edge weights. If is the number of pairs of nodes changing the distance after a single edge modi cation (insert, delete, weight decrease, or weight increase) then th ..."
Abstract

Cited by 17 (14 self)
 Add to MetaCart
We propose a fullydynamic distributed algorithm for the allpairs shortest paths problem on general networks with positive real edge weights. If is the number of pairs of nodes changing the distance after a single edge modi cation (insert, delete, weight decrease, or weight increase) then the message complexity of the proposed algorithm is O(n ) in the worst case, where n is the number of nodes of the network.
Speeding up dynamic shortest path algorithms
 AT&T labs Research Technical Report, TD5RJ8B, Florham Park, NJ
, 2003
"... doi 10.1287/ijoc.1070.0231 ..."
Maintaining Shortest Paths in Digraphs with Arbitrary Arc Weights: An Experimental Study
 In Proc. Workshop on Algorithm Engineering
, 2000
"... We present the first experimental study of the fully dynamic singlesource shortest paths problem in digraphs with arbitrary (negative and nonnegative) arc weights. We implemented and tested several variants of the theoretically fastest fully dynamic algorithms proposed in the literature, plus ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
(Show Context)
We present the first experimental study of the fully dynamic singlesource shortest paths problem in digraphs with arbitrary (negative and nonnegative) arc weights. We implemented and tested several variants of the theoretically fastest fully dynamic algorithms proposed in the literature, plus a new algorithm devised to be as simple as possible while matching the best worstcase bounds for the problem. According to experiments performed on randomly generated test sets, all the considered dynamic algorithms are faster by several orders of magnitude than recomputing from scratch with the best static algorithm. The experiments also reveal that, although the simple dynamic algorithm we suggest is usually the fastest in practice, other dynamic algorithms proposed in the literature yield better results for specific kinds of test sets. 1
Incremental heuristic search in artificial intelligence
 Artificial Intelligence Magazine
"... Incremental search reuses information from previous searches to find solutions to a series of similar search problems potentially faster than is possible by solving each search problem from scratch. This is important since many artificial intelligence systems have to adapt their plans continuously t ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
(Show Context)
Incremental search reuses information from previous searches to find solutions to a series of similar search problems potentially faster than is possible by solving each search problem from scratch. This is important since many artificial intelligence systems have to adapt their plans continuously to changes in (their knowledge of) the world. In this article, we therefore give an overview of incremental search, focusing on Lifelong Planning A*, and outline some of its possible applications in artificial intelligence. Overview It is often important that searches be fast. Artificial intelligence has developed several ways of speeding up searches by trading off the search time and the cost of the resulting path. This includes using inadmissible heuristics (Pohl
Dynamic shortest paths and transitive closure: algorithmic techniques and data structures
 J. Discr. Algor
, 2006
"... In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of ye ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of years many novel algorithmic techniques have been proposed. In this survey, we will make a special effort to abstract some combinatorial and algebraic properties, and some common datastructural tools that are at the base of those techniques. This will help us try to present some of the newest results in a unifying framework so that they can be better understood and deployed also by nonspecialists.
Improved Bounds and New TradeOffs for Dynamic All Pairs Shortest Paths
"... Let G be a directed graph with n vertices, subject to dynamic updates, and such that each edge weight can assume at most S different arbitrary real values throughout the sequence of updates. We present a new algorithm for maintaining all pairs shortest paths in G in O(S n) amortized time p ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
Let G be a directed graph with n vertices, subject to dynamic updates, and such that each edge weight can assume at most S different arbitrary real values throughout the sequence of updates. We present a new algorithm for maintaining all pairs shortest paths in G in O(S n) amortized time per update and in O(1) worstcase time per distance query. This improves over previous bounds. We also show how to obtain query/update tradeoffs for this problem, by introducing two new families of algorithms. Algorithms in the first family achieve an update bound of e O(S \Delta k \Delta n and a query bound of e O(n=k), and improve over the best known update bounds for k in the range (n=S) . Algorithms in the second family achieve an update e O e O(n ), and are competitive with the best known update bounds (first family included) for k in the range (n=S) k ! .
An Experimental Study of Dynamic Algorithms for Transitive Closure
 ACM JOURNAL OF EXPERIMENTAL ALGORITHMICS
, 2000
"... We perform an extensive experimental study of several dynamic algorithms for transitive closure. In particular, we implemented algorithms given by Italiano, Yellin, Cicerone et al., and two recent randomized algorithms by Henzinger and King. We propose a netuned version of Italiano's algori ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
We perform an extensive experimental study of several dynamic algorithms for transitive closure. In particular, we implemented algorithms given by Italiano, Yellin, Cicerone et al., and two recent randomized algorithms by Henzinger and King. We propose a netuned version of Italiano's algorithms as well as a new variant of them, both of which were always faster than any of the other implementations of the dynamic algorithms. We also considered simpleminded algorithms that were easy to implement and likely to be fast in practice. We tested and compared the above implementations on random inputs, on nonrandom inputs that are worstcase inputs for the dynamic algorithms, and on an input motivated by a realworld graph.
Dynamic Shortest Paths Containers
, 2004
"... Using a set of geometric containers to speed up shortest path queries in a weighted graph has been proven a useful tool for dealing with large sparse graphs. Given a layout of a graph G =(V,E), we store, for each edge (u, v) ∈ E, the bounding box of all nodes t ∈ V for which a shortest utpath sta ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
Using a set of geometric containers to speed up shortest path queries in a weighted graph has been proven a useful tool for dealing with large sparse graphs. Given a layout of a graph G =(V,E), we store, for each edge (u, v) ∈ E, the bounding box of all nodes t ∈ V for which a shortest utpath starts with (u, v). Shortest path queries can then be answered by Dijkstra’s algorithm restricted to edges where the corresponding bounding box contains the target. In this paper, we present new algorithms as well as an empirical study for the dynamic case of this problem, where edge weights are subject to change and the bounding boxes have to be updated. We evaluate the quality and the time for different update strategies that guarantee correct shortest paths in an interesting application to railway information systems, using realworld data from six European countries.