246,629 research outputs found

    CFA2: a Context-Free Approach to Control-Flow Analysis

    Full text link
    In a functional language, the dominant control-flow mechanism is function call and return. Most higher-order flow analyses, including k-CFA, do not handle call and return well: they remember only a bounded number of pending calls because they approximate programs with control-flow graphs. Call/return mismatch introduces precision-degrading spurious control-flow paths and increases the analysis time. We describe CFA2, the first flow analysis with precise call/return matching in the presence of higher-order functions and tail calls. We formulate CFA2 as an abstract interpretation of programs in continuation-passing style and describe a sound and complete summarization algorithm for our abstract semantics. A preliminary evaluation shows that CFA2 gives more accurate data-flow information than 0CFA and 1CFA.Comment: LMCS 7 (2:3) 201

    hopCP: language definition, semantics and examples

    Get PDF
    Journal ArticleWe describe a formalism for high level modeling of hardware based on flow graphs and nonatomic actions called hopCP. A module is the description of a hardware system in hopCP, which contains a flow graph to model the behavioral aspects and ports which represent the communication links. Operations are provided to manipulate modules and flow graphs. Nonatomic actions provide the necessary functional and temporal abstraction to model hardware and action refinement is introduced to bridge the abstraction gap for high level synthesis. Examples are provided to elucidate the semantics of hopCP and illustrate the expressive power of the language

    Interprocedural Data Flow Analysis in Soot using Value Contexts

    Full text link
    An interprocedural analysis is precise if it is flow sensitive and fully context-sensitive even in the presence of recursion. Many methods of interprocedural analysis sacrifice precision for scalability while some are precise but limited to only a certain class of problems. Soot currently supports interprocedural analysis of Java programs using graph reachability. However, this approach is restricted to IFDS/IDE problems, and is not suitable for general data flow frameworks such as heap reference analysis and points-to analysis which have non-distributive flow functions. We describe a general-purpose interprocedural analysis framework for Soot using data flow values for context-sensitivity. This framework is not restricted to problems with distributive flow functions, although the lattice must be finite. It combines the key ideas of the tabulation method of the functional approach and the technique of value-based termination of call string construction. The efficiency and precision of interprocedural analyses is heavily affected by the precision of the underlying call graph. This is especially important for object-oriented languages like Java where virtual method invocations cause an explosion of spurious call edges if the call graph is constructed naively. We have instantiated our framework with a flow and context-sensitive points-to analysis in Soot, which enables the construction of call graphs that are far more precise than those constructed by Soot's SPARK engine.Comment: SOAP 2013 Final Versio

    Semantics and applications of function graphs

    Get PDF
    Journal ArticleFunction graphs provide graphical models of programs based on function application. The uses of such models include provision of a semantic framework for functional programs, explication of the structure of complex systems based on function application, increasing proximity of programs to certain application domains, resolution of ambiguities in programs based upon systems of equations, and representation of executable programs in machines based upon data flow execution. Application examples and underlying theory of function graphs are presented

    Renormalization: an advanced overview

    Full text link
    We present several approaches to renormalization in QFT: the multi-scale analysis in perturbative renormalization, the functional methods \`a la Wetterich equation, and the loop-vertex expansion in non-perturbative renormalization. While each of these is quite well-established, they go beyond standard QFT textbook material, and may be little-known to specialists of each other approach. This review is aimed at bridging this gap.Comment: Review, 130 pages, 33 figures; v2: misprints corrected, refs. added, minor improvements; v3: some changes to sect. 5, refs. adde
    • …
    corecore