246,629 research outputs found
CFA2: a Context-Free Approach to Control-Flow Analysis
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
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
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
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
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
- …