12 citations found. Retrieving documents...
R. Bodik and S. Anik. Path-sensitive value-flow analysis. In Symposium on Principles of Programming Languages, pages 237--251, 1998.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Path-Sensitive Program Verification in Polynomial Time - Das, Lerner, Seigle (2002)   (11 citations)  (Correct)

....dataflow analysis. Much of the previous work in this area has focused on moving from the maximalfLxed point (MFP) solution towards the meet over all paths (MOP) solution; for instance, Bodik and Anik introduce a value renaming scheme in order to obtain MOP information using an MFP analysis [BA98]. We are more interested in capturing an orthogonal aspect of path sensitivity, namely ruling out infeasible paths. One way of viewing our work is that we have improved the precision of dataflow analysis for our application of typestate checking by tracking a finite set of predicates (those that ....

Rastislav Bodik and Sadun Anik. Path-sensitive value- flow analysis. In Symposium on Principles of Programming Languages, pages 237 251, 1998.


The Advantages of Instance-wise Reaching Definition Analyses in.. - Collard (1998)   (Correct)

....of semantic equivalence superior to (classical scalar) SSA. It would thus be interesting to try and extend the work of Knoop et al. to programs with arrays. Extending classical optimization algorithms (detection of common subexpression, redundancy elimination, construction of value flows [6], etc) to arrays, and comparing the respective benefits of Array SA and Array SSA, is definitely a very important future work. 9 Conclusion We formally defined Array SSA and Array SA in a uniform way, and compared the two frameworks. We have shown that both Array SSA and Array SA require an ....

R. Bod'ik and S. Anik. Path-sensitive value-flow analysis. In ACM Symp. on Principles of Programming Languages (PoPL), pages 237--251, San Diego, CA, January 1998.


An Efficient Static Analysis Algorithm to Detect Redundant.. - Cooper, Xu (2002)   (4 citations)  (Correct)

....corner of Figure 2. Generally, for arbitrary P and Q,itisimpossible to decide statically whether they will access same address with same value. The Venn diagram at the bottom of Figure 2 shows the relationship between these three categories. Both hardware [18, 23, 31, 36] and software techniques [25, 29, 24, 4, 6] have been proposed to detect and remove redundant memory operations. In their dynamic instruction reuse work [31] Sodani et al. propose to use hardware lookup tables to store operation input and result. A redundant operation is detected by matching input against lookup table entries. If there is ....

....so detecting one often allows the compiler to detect the other. The published algorithms for register promotion work from a lexical notion of identity, rather than from a value based identity.Thevalue based approach taken inouralgorithm should reveal a larger set of equivalent expressions. In [4, 6], Bodik et al. use a valuenumbering based path sensitive analysis to detect both scalar and memory redundancy based on value equality. However, the algorithm mainly targets array oriented applications where array subscripts can be represented as linear algebraic expressions and can be analyzed ....

Rastislav BodikandSadun Anik. Path-sensitive value-flow analysis. In Conference Record of ACM Symposium on Principles of Programming Languages (POPL),pages 237--251, 1998.


Automatic Predicate Abstraction of C Programs - Ball, Majumdar, Millstein.. (2001)   (93 citations)  (Correct)

.... Ammons and Larus use code duplication followed by a traditional dataflow analysis to achieve path sensitive results [1] Bodik and Anik use symbolic back substitution (i.e. weakest preconditions) followed by value numbering to improve the results of a subsequent three valued dataflow analysis [8]. The combination of predicate abstraction by C2bp and path sensitive dataflow analyses in Bebop could be used to achieve similar results. Prior work for generating loop invariants has used symbolic execution on the concrete semantics, augmented with widening heuristics [32, 33] The Houdini tool ....

R. Bodik and S. Anik. Path-sensitive value-flow analysis. In POPL 98: Principles of Programming Languages, pages 237--251. ACM, 1998.


Path-Sensitive, Value-Flow Optimizations of Programs - Bodik (1999)   (2 citations)  (Correct)

....individual analysis, and recombination. Instead, the approach proposed by ths thesis is to reserve restructuring for the actual transformation. This implies a different overall strategy: a) non distributive problems are solved precisely along all paths by customizing the data flow name space [BA98] b) distinct path specific opportunities are collected through demand driven analysis as in branch elimination [BGS97a] 15 c) all profitable opportunities are exploited with economical transformations (code motion and speculation) and d) infrequent program regions will be avoided using the ....

Rastislav Bodik and Sadun Anik. Path-sensitive value-flow analysis. In Conference Record of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1998.


Path-Sensitive Value-Flow Optimizations - Bodík (1998)   (Correct)

....A[min] is read in the previous iteration either under the name A[min] or under A[i] depending on the outcome of the if statement. At the first line, the value is loaded under the name A[0] To facilitate precise redundancy detection, this research will use a uniform representation of value flow [BA98] which is based upon identifying the value with a suitable name along each path and appropriately merging data flow facts connected with path specific names whenever control flow paths converge. While the representation in [BA98] can overcome the problems described above, it needs to be extended ....

....this research will use a uniform representation of value flow [BA98] which is based upon identifying the value with a suitable name along each path and appropriately merging data flow facts connected with path specific names whenever control flow paths converge. While the representation in [BA98] can overcome the problems described above, it needs to be extended to support practical, industrial strength analysis. In comparison to [BA98] commonly used techniques fail to remove the load of A[i] in figure 2 because they are based on data flow problems that use a single name per value and ....

[Article contains additional citation context not shown here]

Rastislav Bodik and Sadun Anik. Path-sensitive value-flow analysis. In Conference Record of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1998.


Register Pressure Sensitive Redundancy Elimination - Gupta, Bodík (1999)   (2 citations)  (Correct)

....is not limited to low frequency basic blocks; the resulting spill loads and stores might slow down important, hot basic blocks. The graph reflects only redundancy of expressions that are lexically identical; if our experiments used value numbering techniques to discover additional redundancies [4, 6, 20], significantly higher increases in register pressure would be observed [2, 6] 1.0e 04 1.0e 05 basic block execution count (126.gcc) 0.0 5.0 10.0 15.0 register pressure (running average) before PRE increase due to PRE decrease due to PRE go gcc compress 0.0 0.2 0.4 0.6 0.8 16 registers, before ....

R. Bodik and S. Anik, "Path-Sensitive Value-Flow Analysis," 25th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, San Diego, California, January 1998.


Complete Removal of Redundant Expressions - Bodik, Gupta, Soffa (1998)   (11 citations)  (Correct)

....edges represent flow functions f e n : an edge (x d m ; x e n ) exists if the value of x e n is computed from x d m ; m 2 pred(n) The graph EG is called an exploded graph [22] The data flow problems underlying ComPRE are separable, hence x e n only depends on x e m . In value based PRE [9], constant propagation [29] and branch correlation analysis [10] edges (x d m ; x e n ) d 6= e, may exist, complicating the analysis. The analyzer presented here handles such general exploded graphs. Requirements. The demand driven analyzer grew out of four specific design requirements: 1. ....

....the level of CMP paths. While PRE is significantly improved through effective program transformations presented in this paper, a large orthogonal potential lies in detecting more redundancies. Some techniques have used powerful analysis to uncover more value reuse than the traditional PRE analysis [9, 11]. However, using only code motion, they fail to completely exploit the additional reuse opportunities. Thus, the transformations presented here are applicable in other styles of PRE as well, for example in elimination of loads. Ammons and Larus [4] developed a constant propagation optimization ....

[Article contains additional citation context not shown here]

Rastislav Bodik and Sadun Anik. Path-sensitive value-flow analysis. In Conference Record of the 25th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, January 1998.


Load-Reuse Analysis: Design and Evaluation - Bodik, Gupta, Soffa (1999)   (12 citations)  (Correct)

....handled uniformly, without any high level program information, such as type information. Technically, our load reuse analysis is formulated as a data flow problem in order to directly guide the PRE transformation [10,24] In our analysis, data flow problems are solved on the Value Name Graph (VNG) [5], a program representation that enhancesdata flow analysis by exposing equivalence among address expressions. This paper extends the VNG representation in two directions. First, we improve its power by modeling indirect memory references. Second, because the original VNG [5] did not scale well, we ....

....Value Name Graph (VNG) 5] a program representation that enhancesdata flow analysis by exposing equivalence among address expressions. This paper extends the VNG representation in two directions. First, we improve its power by modeling indirect memory references. Second, because the original VNG [5] did not scale well, we develop a sparse VNG, based on the SSA form [17] Evaluation. Typically, optimizations are evaluated by reporting the amount of computations removed. Unfortunately, such absolute measure says little about how much potential remains unexploited. Instead, our evaluation ....

[Article contains additional citation context not shown here]

Rastislav Bodik and Sadun Anik. Path-sensitive value-flow analysis. In Conference Record of the 25th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, January 1998.


The Program Optimization Spectrum - Bodik   Self-citation (Bodik)   (Correct)

.... Transformation exploit Stretched Loop Use Region CMP Region Value Name Graph (VNG) Sparse VNG Estimators Hybrid Analysis Entry exit Splitting Early Termination Approximate Analysis PLDI 98 PLDI 99 POPL 98 IJPP 96 PLDI 97 a PLDI 97 b research statement Rastislav Bodik 2 representation and collects the exposed redundancies. Finally, the transformation exploits collected optimization opportunities by transforming the program. While these stages seem traditional, previous research in redundancy optimization blended them, hindering a formulation of a path sensitive ....

....well. To handle large programs, I developed a Sparse VNG, which is up to 30 times smaller, without any loss of precision. Furthermore, being a derivative of the popular SSA program form, the sparse version enables retrofitting the extra power of the VNG into existing SSA based implementations. 2. Analysis. The data flow analysis stage traverses the representation and groups instructions that compute the same value. One research challenge is to reduce the cost of analyzing a large representation. For the stretched loop, I developed a Hybrid Analysis that combines elimination and iteration ....

[Article contains additional citation context not shown here]

Rastislav Bodik and Sadun Anik. POPL'98, Path-sensitive value-flow analysis. In Conference Record of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 237--251, January 1998.


ESP: Path-Sensitive Program Verification in Polynomial Time - Das, Lerner, Seigle (2002)   (46 citations)  (Correct)

No context found.

R. Bodik and S. Anik. Path-sensitive value-flow analysis. In Symposium on Principles of Programming Languages, pages 237--251, 1998.


Retaining Path-Sensitive Relations across Control-Flow Merges - Douglas Gregor Dept   (Correct)

No context found.

R. Bodik and S. Anik. Path-sensitive value-flow analysis. In Proc. of the 25th Annual ACM SIGPLANSIGACT Symp. on Principles of Programming Languages, pages 237--251, 1998.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC