576,420 research outputs found

    Generalized Points-to Graphs: A New Abstraction of Memory in the Presence of Pointers

    Full text link
    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

    Approximating Fractional Time Quantum Evolution

    Full text link
    An algorithm is presented for approximating arbitrary powers of a black box unitary operation, Ut\mathcal{U}^t, where tt is a real number, and U\mathcal{U} 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 U\mathcal{U} and large tt, one should apply U\mathcal{U} a total of t\lfloor t \rfloor times followed by our procedure for approximating the fractional power Utt\mathcal{U}^{t-\lfloor t \rfloor}. An example is also given where for large integers tt this method is more efficient than direct application of tt copies of U\mathcal{U}. Further applications and related algorithms are also discussed.Comment: 13 pages, 2 figure

    Rendezvous of Distance-aware Mobile Agents in Unknown Graphs

    Get PDF
    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 Δ\Delta, the rendezvous time can be exponential in Δ\Delta 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 DD and the size of the smaller of the two agent labels l=min(l1,l2)l = \min(l_1, l_2). Our algorithm has a time complexity of O(Δ(D+logl))O(\Delta(D+\log{l})) and we show an almost matching lower bound of Ω(Δ(D+logl/logΔ))\Omega(\Delta(D+\log{l}/\log{\Delta})) 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
    corecore