576,420 research outputs found
Generalized Points-to Graphs: A New Abstraction of Memory in the Presence of Pointers
Flow- and context-sensitive points-to analysis is difficult to scale; for
top-down approaches, the problem centers on repeated analysis of the same
procedure; for bottom-up approaches, the abstractions used to represent
procedure summaries have not scaled while preserving precision.
We propose a novel abstraction called the Generalized Points-to Graph (GPG)
which views points-to relations as memory updates and generalizes them using
the counts of indirection levels leaving the unknown pointees implicit. This
allows us to construct GPGs as compact representations of bottom-up procedure
summaries in terms of memory updates and control flow between them. Their
compactness is ensured by the following optimizations: strength reduction
reduces the indirection levels, redundancy elimination removes redundant memory
updates and minimizes control flow (without over-approximating data dependence
between memory updates), and call inlining enhances the opportunities of these
optimizations. We devise novel operations and data flow analyses for these
optimizations.
Our quest for scalability of points-to analysis leads to the following
insight: The real killer of scalability in program analysis is not the amount
of data but the amount of control flow that it may be subjected to in search of
precision. The effectiveness of GPGs lies in the fact that they discard as much
control flow as possible without losing precision (i.e., by preserving data
dependence without over-approximation). This is the reason why the GPGs are
very small even for main procedures that contain the effect of the entire
program. This allows our implementation to scale to 158kLoC for C programs
Recommended from our members
Constant-time cost evaluation for behavioral partitioning
Given a system behavioral specification, partitioning can be used to distribute among chips the processes, procedures, and storage elements that comprise the specification. We introduce a technique for constant-time recomputation of pin, area, and execution-time estimates for a behavioral partitioning move. The technique permits fast, accurate estimations of a large number of partitionings, thus enabling better results than approaches which attain tractable computation time by using gross estimates or less thorough partitioning algorithms. The key to our technique is the isolation and extraction before partitioning of the basic design attributes needed for estimation, and the updating of this information in constant-time for each move. The estimation models are almost as detailed as those presented in previous estimation approaches not intended for constant-time update. The results we provide indicate the speed and practicality of our estimation approach in conjunction with sophisticated partitioning algorithms
Approximating Fractional Time Quantum Evolution
An algorithm is presented for approximating arbitrary powers of a black box
unitary operation, , where is a real number, and
is a black box implementing an unknown unitary. The complexity of
this algorithm is calculated in terms of the number of calls to the black box,
the errors in the approximation, and a certain `gap' parameter. For general
and large , one should apply a total of times followed by our procedure for approximating the fractional
power . An example is also given where for
large integers this method is more efficient than direct application of
copies of . Further applications and related algorithms are also
discussed.Comment: 13 pages, 2 figure
Rendezvous of Distance-aware Mobile Agents in Unknown Graphs
We study the problem of rendezvous of two mobile agents starting at distinct
locations in an unknown graph. The agents have distinct labels and walk in
synchronous steps. However the graph is unlabelled and the agents have no means
of marking the nodes of the graph and cannot communicate with or see each other
until they meet at a node. When the graph is very large we want the time to
rendezvous to be independent of the graph size and to depend only on the
initial distance between the agents and some local parameters such as the
degree of the vertices, and the size of the agent's label. It is well known
that even for simple graphs of degree , the rendezvous time can be
exponential in in the worst case. In this paper, we introduce a new
version of the rendezvous problem where the agents are equipped with a device
that measures its distance to the other agent after every step. We show that
these \emph{distance-aware} agents are able to rendezvous in any unknown graph,
in time polynomial in all the local parameters such the degree of the nodes,
the initial distance and the size of the smaller of the two agent labels . Our algorithm has a time complexity of
and we show an almost matching lower bound of
on the time complexity of any
rendezvous algorithm in our scenario. Further, this lower bound extends
existing lower bounds for the general rendezvous problem without distance
awareness
- …