[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