[1] S. Alagic, and M.A. Arbib,
The
Design of Well-Structured and Correct
Programs. Springer, 1978.
[2] J.-R. Allen, K. Kennedy, C. Porterfield,
and J. Warren, Conversion of Control
Dependence to Data Dependence Proc. 10th
Ann. ACM Symp. Principles of Programming
Languages, pp. 177-189, Jan. 1983.
[3]
Z. Ammarguellat, A Control-Flow
Normalization Algorithm and Its Complexity
IEEE Trans. Software Eng., vol. 18,
no. 3, pp. 237-251, 1992.
[4] M.A. Arbib, and S. Alagic, Proof Rules
for Gotos Acta Informatica, vol.
11, pp. 139-148, 1979.
[5] E. Ashcroft, and Z. Manna, The
Translation of Goto Programs into While
Programs Proc. IFIP Congress 71, C.
Freiman, J. Griffith, and J. Rosenfeld,
eds., vol. 1, pp. 250-255, 1972.
[6] B. Dutertre, Elements of Mathematical
Analysis in PVS Proc. Ninth Int'l Conf.
Theorem Proving in Higher Order Logics
TPHOL, J. Von Wright, J. Grundy, and J.
Harrison, eds., Aug. 1996.
[7] C. Boehm, and G. Jacopini, Flow
Diagrams, Turing Machines and Languages with
Only Two Formation Rules Comm. ACM,
vol. 9, no. 5, pp. 366-371, May 1966.
[8] L. Carter, B. Simon, B. Calder, L.
Carter, and J. Ferrante, Path Analysis and
Renaming for Predicated Instruction
Scheduling Int'l J. Parallel
Programming, vol. 28, no. 6, pp.
563-588, 2000.
[9] C. Cifuentes, Structuring Decompiled
Graphs Lecture Notes in Computer
Science, vol. 1060, pp. 91-104, 1996.
[10] B. De Bus, D. Kästner, D. Chanet, L.
Van Put, and B. De Sutter, Post-Pass
Compaction Techniques Comm. ACM,
vol. 46, no. 8, pp. 41-46, 2003.
[11] E.H. D'Hollander, and F. Zhang,
Restructuring Program Transformations with
Proof Verification Using PVS Technical
Report RUG/ELIS01, p. 47, 2001.
[12] E.H. D'Hollander, F. Zhang, and Q.
Wang, The Fortran Parallel Transformer and
Its Programming Environment Information
Sciences, vol. 106, nos. 3-4, pp.
293-317, 1998.
[13]
A.M. Erosa, and L.J. Hendren, Taming Control
Flow: A Structured Approach to Eliminating
Goto Statements Proc. Fifth Int'l Conf.
Computer Languages, pp. 229-240, 1994.
[14] J. Ferrante, K.J. Ottenstein, and J.D.
Warren, The Program Dependence Graph and Its
Use in Optimization ACM Trans.
Programming Languages and Systems, vol.
9, no. 3, pp. 319-349, 1987.
[15] P. Havlak, Nesting of Reducible and
Irreducible Loops ACM Trans. Programming
Languages and Systems (TOPLAS), vol.
19, no. 4, pp. 557-567, 1997.
[16] M.S. Hecht, and J.D. Ullman,
Characterizations of Reducible Flow Graphs
J. ACM, vol. 21, no. 3, pp.
367-375, 1974.
[17] C.A.R. Hoare, An Axiomatic Basis of
Computer Programming Comm. ACM,
vol. 12, pp. 576-580, 1969.
[18] C.A.R. Hoare, An Axiomatic Definition
of the Programming Language Pascal Acta
Informatca, vol. 2, pp. 335-355, 1973.
[19] J. Janssen, and H. Corporaal, Making
Graphs Reducible with Controlled Node
Splitting ACM Trans. Programming
Languages and Systems, vol. 19, no. 6,
pp. 1031-1052, 1997.
[20] V.N. Kas'janov, Distinguishing Hammocks
in a Directed Graph Soviet Math.
Doklady, vol. 16, no. 5, pp. 448-450,
1975.
[21]
A. Klauser, T. Austin, D. Grunwald, and B.
Calder, Dynamic Hammock Predication for
Non-Predicated Instruction Set Architectures
Proc. 1998 Int'l Conf. Parallel
Architectures and Compilation Techniques
(PACT '98), pp. 278-285, Oct. 1998.
[22] L. Lamport, How to Make a
Multiprocessor Computer that Correctly
Executes Multiprocess Programs IEEE
Trans. Computers, vol. 28, no. 9, pp.
690-691, 1979.
[23] P. Morris, R.A. Gray, and R.E. Filman,
GOTO Removal Based on Regular Expressions
J. Software Maintenance Research and
Practice, vol. 9, no. 1, pp. 47-66,
Jan./Feb. 1997.
[24] H.R. Nielson, and F. Nielson,
Semantics with Applications. John Wiley
and Sons, 1993.
[25] G. Oulsnam, Unravelling Unstructured
Programs The Computer J., vol. 25,
no. 3, pp. 379-387, Aug. 1982.
[26] G. Oulsnam, The Algorithmic
Transformation of Schemas to Structured Form
The Computer J., vol. 30, no. 1,
pp. 43-51, Feb. 1987.
[27]
S. Owre, J. Rushby, N. Shankar, and F. von
Henke, "Formal Verification for
Fault-Tolerant Architectures: Prolegomena to
the Design of PVS," IEEE Trans. Software
Eng., vol. 21, pp. 107-125, Feb. 1995.
[28] S. Owre, J.M. Rushby, and N. Shankar,
PVS: A Prototype Verification System
Proc. 11th Int'l Conf. Automated Deduction
(CADE-11), D. Kapur, ed., June 1992.
[29] W.W. Peterson, T. Kasami, and N. Tokura,
On the Capabilities of While, Repeat, and
Exit Statements Comm. ACM, vol. 16,
no. 8, pp. 503-512, Aug. 1973.
[30] L. Ramshaw, Eliminating Goto's While
Preserving Program Structure J. ACM,
vol. 35, no. 4, pp. 893-920, Oct. 1988.
[31] N. Shankar, Steps Towards Mechanizing
Program Transformations Using PVS
Science of Computer Programming, vol.
26, nos. 1-3, pp. 33-57, May 1996.
[32] S. Unger, and F. Mueller, Handling
Irreducible Loops: Optimized Node Splitting
Versus DJ-Graphs ACM Trans. Programming
Languages and Systems (TOPLAS), vol.
24, no. 4, pp. 299-333, 2002.
[33] M. Weiser, Program Slicing IEEE
Trans. Software Eng., vol. 10, no. 4,
pp. 352-357, July 1984.
[34] M.H. Williams, Generating Structured
Flow Diagrams: The Nature of
Unstructuredness The Computer J.,
vol. 20, no. 1, pp. 45-50, Feb. 1977.
[35] M.H. Williams, and G. Chen,
Restructuring Pascal Programs Containing
Goto Statements The Computer J.,
vol. 28, no. 2, pp. 134-137, 1985.
[36] M.H. Williams, and H.L. Ossher,
Conversion of Unstructured Flow Diagrams to
Structured Form The Computer J.,
vol. 21, no. 2, pp. 161-167, 1978.
[37] F. Zhang, FPT: A Parallel Programming
Environment PhD thesis, Dept. of Electrical
Eng., Univ. of Ghent, 1996.
[38]
F. Zhang, and E.H. D'Hollander, Extracting
the Parallelism in Programs with
Unstructured Control Statements Proc.
Int'l Conf. Parallel and Distributed
Systems, (ICPADS '94), pp. 264-270,
Dec. 1994.
|
The Program
Structure Tree: Computing Control Regions in.. - Johnson, Pearson, Pingali
(1994)
(28 citations)
(Correct)
....applications of the PST to parallel and incremental program analysis.
2 Single entry single exit regions and the program structure tree In the
literature, the term single entry single exit region is not used consistently
there appear to be several related constructs aliased to this term [Kas75,
Val78, TV80, GPS90] Therefore, we begin this section with a formal definition of
single entry single exit regions as used in this paper . This definition is
motivated in part by considerations of control dependence, as will be made
precise in Section 5. We then show that single entry single ....
V. N. Kas'janov. Distinguishing hammocks in a directed
graph. Soviet Math. Doklady, 16(5):448--450, 1975.
Range Searching
Over Tree Cross Products - Buchsbaum, Goodrich, Westbrook (2000)
(7 citations)
(Correct)
....node, t. A node u dominates a node v if every path from s to v
goes through u. A node v post dominates a node u if every path from u to
t goes through v. The hammock between two nodes u and v is the set of
nodes dominated by u and post dominated by v. This modi es the de nition due
to Kas janov [18]. Johnson, Pearson,
and Pingali [17] de ne a canonical, nested hammock structure, which is useful in
compiler control ow analysis, and devise an O(m) time algorithm to discover it.
n = jV j, and m = jEj. No previous result, however, allows ecient,
on line queries of the form: return the ....
V. N. Kas'janov. Distinguishing hammocks in a directed
graph. Sov. Math. Dokl., 16(2):448-50, 1975.
Finding Regions
Fast: Single Entry Single Exit and.. - Johnson, Pearson.. (1993)
(8 citations)
(Correct)
....behavior. The topmost SESE region on this stack when DFS reaches
the entry node of a SESE region R 1 is the name of the smallest SESE region
containing R 1 . 5. 3 Discussion As a final remark, we note that a concept
related to SESE regions called a hammock has been defined in the literature
[Kas75]. Although it appears common practice to
confuse hammocks and SESE regions, they are in fact different. The exit
node of a hammock can be the target of edges outside the hammock; therefore,
there are hammocks that are not SESE regions, as shown in Figure 7. Also,
the entry node of a hammock cannot ....
....node of a hammock cannot be the target of an edge from the exit of the
hammock; therefore, there are SESE regions that are hammocks. For
example, a repeat until loop in a structured program is a SESE region but it is
not a hammock. The standard algorithm for finding hammocks has complexity
O(EN ) [Kas75]. It may be possible to
use the ideas of this paper to find hammocks in O(E) time, but we have not
explored this further. 6 Extensions We conclude this paper by describing three
open problems related to this work. A small program transformation can
increase the number of SESE regions in the ....
V. N. Kas'janov. Distinguishing hammocks in a directed
graph. Soviet Math. Doklady, 16(5):448-- 450, 1975.
Dependence-Based Program Analysis - Johnson, Pingali (1993)
(52 citations)
(Correct)
....ffl e 1 dominates e 2 , e 2 postdominates e 1 , and every cycle
containing e 1 also contains e 2 and vice versa. ffl e 1 and e 2 have the
same control dependences. For lack of space, we omit the proof of this
theorem. A related structure called a hammock has been discussed in the
literature [Kas75] Hammocks are not the
same as singleentry single exit regions since the exit node in a hammock can be
the target of edges outside the hammock; besides, the algorithm for finding
hammocks is O(EN ) Just as def use chains are intercepted by OE functions in the
SSA representation, they are ....
V. N. Kas'janov. Distinguishing hammocks in a directed
graph. Soviet Math. Doklady, 16(5):448--450, 1975.
Efficient Parallel Shortest-Paths in Digraphs with a Separator Decomposition
-
group of 7 »
E Cohen - J. Algorithms, 1996 - portal.acm.org
... Their algorithm is based on paralleliz- ing the hammock
decomposition technique
introduced by Fredrickson [5]. Their algorithm runs in 0(log2 n) time and ...
Dependence-Based Program Analysis -
group of 6 »
R Johnson, K Pingali - PLDI, 1993 - portal.acm.org
... node in a hammock can be the target of edges outside the
hammock; besides, the ... Thus
these regions give a hierarchical decomposition of a control flow graph’s
...
Cited by 58 -
Web Search -
BL Direct
Function Recovery Based on Program Slicing -
group of 4 »
F Lanubile, G Visaggio - ICSM, 1993 - ieeexplore.ieee.org
... In order to extract our components we need a decomposition
method which uses both
data ... Definition 3: An hammock graph HG is a quadruple (N, E,
IQ, ne), where (N ...
Cited by 16 -
Web Search