Using hammock graphs to structure programs

Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, suc...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering Jg. 30; H. 4; S. 231 - 245
Hauptverfasser: Zhang, F., D'Hollander, E.H.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: New York IEEE 01.04.2004
IEEE Computer Society
Schlagworte:
ISSN:0098-5589, 1939-3520
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, such as jumps and goto's, render the control flow analysis difficult, time-consuming, and result in poor code generation. Branches are part of many programming languages and occur in legacy and maintenance code as well as in assembler, intermediate languages, and byte code. A simple and effective technique is presented to convert unstructured branches into hammock graph control structures. Using three basic transformations, an equivalent program is obtained in which all control statements have a well-defined scope. In the interest of predication and branch prediction, the number of control variables has been minimized, thereby allowing a limited code replication. The correctness of the transformations has been proven using an axiomatic proof rule system. With respect to previous work, the algorithm is simpler and the branch conditions are less complex, making the program more readable and the code generation more efficient. Additionally, hammock graphs define single entry single exit regions and therefore allow localized optimizations. The restructuring method has been implemented into the parallelizing compiler FPT and allows to extract parallelism in unstructured programs. The use of hammock graph transformations in other application areas such as vectorization, decompilation, and assembly program restructuring is also demonstrated.
AbstractList Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, such as jumps and goto's, render the control flow analysis difficult, time-consuming, and result in poor code generation. Branches are part of many programming languages and occur in legacy and maintenance code as well as in assembler, intermediate languages, and byte code. A simple and effective technique is presented to convert unstructured branches into hammock graph control structures. Using three basic transformations, an equivalent program is obtained in which all control statements have a well-defined scope. In the interest of predication and branch prediction, the number of control variables has been minimized, thereby allowing a limited code replication. The correctness of the transformations has been proven using an axiomatic proof rule system. With respect to previous work, the algorithm is simpler and the branch conditions are less complex, making the program more readable and the code generation more efficient. Additionally, hammock graphs define single entry single exit regions and therefore allow localized optimizations. The restructuring method has been implemented into the parallelizing compiler FPT and allows to extract parallelism in unstructured programs. The use of hammock graph transformations in other application areas such as vectorization, decompilation, and assembly program restructuring is also demonstrated.
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, such as jumps and goto's, render the control flow analysis difficult, time-consuming, and result in poor code generation. Branches are part of many programming languages and occur in legacy and maintenance code as well as in assembler, intermediate languages, and byte code. A simple and effective technique is presented to convert unstructured branches into hammock graph control structures. Using three basic transformations, an equivalent program is obtained in which all control statements have a well-defined scope. In the interest of predication and branch prediction, the number of control variables has been minimized, thereby allowing a limited code replication. The correctness of the transformations has been proven using an axiomatic proof rule system. With respect to previous work, the algorithm is simpler and the branch conditions are less complex, making the program more readable and the code generation more efficient. Additionally, hammock graphs define single entry single exit regions and therefore allow localized optimizations. The restructuring method has been implemented into the parallelizing compiler FPT and allows to extract parallelism in unstructured programs. The use of hammock graph transformations in other application areas such as vectorization, decompilation, and assembly program restructuring is also demonstrated. [PUBLICATION ABSTRACT]
Author Zhang, F.
D'Hollander, E.H.
Author_xml – sequence: 1
  givenname: F.
  surname: Zhang
  fullname: Zhang, F.
  organization: Platform Comput. Inc., Markham, Ont., Canada
– sequence: 2
  givenname: E.H.
  surname: D'Hollander
  fullname: D'Hollander, E.H.
BookMark eNp9kD1rwzAQhkVJoUnavdDFdCkUnJ4kS7bGEtIPCHRoMgtZviROYyuV5KH_vg4JFDJ0Orh73rvjGZFB61ok5JbChFJQT4vP2YQBZBPK8gwyfkGGVHGVcsFgQIYAqkiFKNQVGYWwBQCR52JIHpehbtfJxjSNs1_J2pv9JiTRJSH6zsbOY7L3rm834Zpcrswu4M2pjsnyZbaYvqXzj9f36fM8tVyymCpVlVUGEhmioBTByqJEA7YsuchoCZwZWpTMWCqriouVlCVnMlfWWmYyw8fk4bi3P_zdYYi6qYPF3c606LqgFVBZKADWk_dn5NZ1vu2f01QJkTOmRA_JI2S9C8HjSts6mli7NnpT7zQFfRCoe4H6IFCfBPZBOAvufd0Y__Nf5O4YqRHxDz9NfwGL9Hwr
CODEN IESEDJ
CitedBy_id crossref_primary_10_1016_j_is_2011_10_005
crossref_primary_10_1016_j_datak_2008_05_001
crossref_primary_10_1145_3391902
crossref_primary_10_1145_1507195_1507209
crossref_primary_10_1145_2894749
crossref_primary_10_1007_s00500_021_05812_3
crossref_primary_10_1145_2980983_2908117
crossref_primary_10_1145_3603503
crossref_primary_10_1007_s10270_009_0133_4
crossref_primary_10_1016_j_datak_2015_10_003
crossref_primary_10_1016_j_sysarc_2004_09_004
crossref_primary_10_1145_2693261
crossref_primary_10_1177_1094342011434814
Cites_doi 10.1007/BF00289504
10.1145/859670.859696
10.1093/comjnl/21.2.161
10.1007/3-540-61053-7_55
10.1109/32.126773
10.1109/ICCL.1994.288377
10.1145/355609.362337
10.1109/32.345827
10.1093/comjnl/28.2.134
10.1016/S0020-0255(97)10016-0
10.1007/BFb0105402
10.1093/comjnl/20.1.45
10.1145/355592.365646
10.1007/3-540-55602-8_217
10.1145/24039.24041
10.1145/363235.363259
10.1145/48014.48021
10.1093/comjnl/25.3.379
10.1109/ICPADS.1994.590307
10.1145/567067.567085
10.1023/A:1007512717742
10.1016/0167-6423(96)00003-2
10.1145/567097.567098
10.1145/267959.269971
10.1109/TC.1979.1675439
10.1007/BF00264021
10.1145/262004.262005
10.1109/PACT.1998.727261
10.1109/TSE.1984.5010248
10.1093/comjnl/30.1.43
10.1007/978-1-4612-6272-5
10.1145/321832.321835
10.1002/(SICI)1096-908X(199701)9:1<47::AID-SMR142>3.0.CO;2-V
ContentType Journal Article
Copyright Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Apr 2004
Copyright_xml – notice: Copyright Institute of Electrical and Electronics Engineers, Inc. (IEEE) Apr 2004
DBID RIA
RIE
AAYXX
CITATION
3V.
7WY
7WZ
7X7
7XB
87Z
88E
88F
88I
88K
8AL
8FE
8FG
8FI
8FJ
8FK
8FL
8G5
ABJCF
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BEZIV
BGLVJ
CCPQU
DWQXO
FRNLG
FYUFA
F~G
GHDGH
GNUQQ
GUQSH
HCIFZ
JQ2
K60
K6~
K7-
K9.
L.-
L6V
M0C
M0N
M0S
M1P
M1Q
M2O
M2P
M2T
M7S
MBDVC
P5Z
P62
PHGZM
PHGZT
PJZUB
PKEHL
PPXIY
PQBIZ
PQBZA
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
Q9U
7SC
7SP
8FD
F28
FR3
L7M
L~C
L~D
DOI 10.1109/TSE.2004.1274043
DatabaseName IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Electronic Library (IEL)
CrossRef
ProQuest Central (Corporate)
ProQuest ABI/INFORM Collection
ABI/INFORM Global (PDF only)
Health & Medical Collection
ProQuest Central (purchase pre-March 2016)
ABI/INFORM Collection
Medical Database (Alumni Edition)
Military Database (Alumni Edition)
Science Database (Alumni Edition)
Telecommunications (Alumni Edition)
Computing Database (Alumni Edition)
ProQuest SciTech Collection
ProQuest Technology Collection
Hospital Premium Collection
Hospital Premium Collection (Alumni Edition)
ProQuest Central (Alumni) (purchase pre-March 2016)
ABI/INFORM Collection (Alumni Edition)
Research Library (Alumni Edition)
Materials Science & Engineering Database
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
Advanced Technologies & Aerospace Database
ProQuest Central Essentials
ProQuest Central
Business Premium Collection
Technology Collection
ProQuest One Community College
ProQuest Central Korea
Business Premium Collection (Alumni)
Health Research Premium Collection
ABI/INFORM Global (Corporate)
Health Research Premium Collection (Alumni)
ProQuest Central Student
Research Library Prep
SciTech Premium Collection
ProQuest Computer Science Collection
ProQuest Business Collection (Alumni Edition)
ProQuest Business Collection
Computer Science Database
ProQuest Health & Medical Complete (Alumni)
ABI/INFORM Professional Advanced
ProQuest Engineering Collection
ABI/INFORM Global
Computing Database
Health & Medical Collection (Alumni Edition)
PML(ProQuest Medical Library)
Military Database
Research Library
Science Database
Telecommunications Database
Engineering Database
Research Library (Corporate)
AAdvanced Technologies & Aerospace Database (subscription)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Premium
ProQuest One Academic
ProQuest Health & Medical Research Collection
ProQuest One Academic Middle East (New)
ProQuest One Health & Nursing
ProQuest One Business (OCUL)
ProQuest One Business (Alumni)
ProQuest One Academic Eastern Edition (DO NOT USE)
One Applied & Life Sciences
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering collection
ProQuest Central Basic
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Technology Research Database
ANTE: Abstracts in New Technology & Engineering
Engineering Research Database
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
ProQuest Business Collection (Alumni Edition)
Research Library Prep
Computer Science Database
ProQuest Central Student
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
SciTech Premium Collection
ProQuest Military Collection
ProQuest Central China
ABI/INFORM Complete
ProQuest Telecommunications
ProQuest One Applied & Life Sciences
Health Research Premium Collection
Health & Medical Research Collection
ProQuest Central (New)
ProQuest Medical Library (Alumni)
Engineering Collection
Advanced Technologies & Aerospace Collection
Business Premium Collection
ABI/INFORM Global
Engineering Database
ProQuest Science Journals (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Hospital Collection
ProQuest Technology Collection
Health Research Premium Collection (Alumni)
ProQuest Telecommunications (Alumni Edition)
ProQuest Business Collection
ProQuest Hospital Collection (Alumni)
ProQuest Health & Medical Complete
ProQuest One Academic UKI Edition
ProQuest One Academic
ProQuest One Academic (New)
ABI/INFORM Global (Corporate)
ProQuest One Business
Technology Collection
ProQuest One Academic Middle East (New)
ProQuest Health & Medical Complete (Alumni)
ProQuest Central (Alumni Edition)
ProQuest One Community College
ProQuest One Health & Nursing
Research Library (Alumni Edition)
ProQuest Central
ABI/INFORM Professional Advanced
ProQuest Health & Medical Research Collection
ProQuest Engineering Collection
Health and Medicine Complete (Alumni Edition)
ProQuest Central Korea
ProQuest Research Library
ABI/INFORM Complete (Alumni Edition)
ProQuest Computing
ABI/INFORM Global (Alumni Edition)
ProQuest Central Basic
ProQuest Science Journals
ProQuest Computing (Alumni Edition)
ProQuest Military Collection (Alumni Edition)
ProQuest SciTech Collection
Advanced Technologies & Aerospace Database
ProQuest Medical Library
Materials Science & Engineering Collection
ProQuest One Business (Alumni)
ProQuest Central (Alumni)
Business Premium Collection (Alumni)
Technology Research Database
Computer and Information Systems Abstracts – Academic
Electronics & Communications Abstracts
Computer and Information Systems Abstracts
Engineering Research Database
Advanced Technologies Database with Aerospace
ANTE: Abstracts in New Technology & Engineering
Computer and Information Systems Abstracts Professional
DatabaseTitleList Technology Research Database

ProQuest Business Collection (Alumni Edition)
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
– sequence: 2
  dbid: BENPR
  name: ProQuest Central
  url: https://www.proquest.com/central
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1939-3520
EndPage 245
ExternalDocumentID 609049781
10_1109_TSE_2004_1274043
1274043
Genre orig-research
Feature
GroupedDBID --Z
-DZ
-~X
.4S
.DC
0R~
29I
3EH
4.4
5GY
5VS
6IK
7WY
7X7
85S
88E
88I
8FE
8FG
8FI
8FJ
8FL
8G5
8R4
8R5
97E
9M8
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABFSI
ABJCF
ABPPZ
ABQJQ
ABUWG
ABVLG
ACGFO
ACGOD
ACIWK
ACNCT
ADBBV
AENEX
AETIX
AFKRA
AGQYO
AGSQL
AHBIQ
AI.
AIBXA
AKJIK
AKQYR
ALLEH
ALMA_UNASSIGNED_HOLDINGS
ARAPS
ARCSS
ASUFR
ATWAV
AZQEC
BEFXN
BENPR
BEZIV
BFFAM
BGLVJ
BGNUA
BKEBE
BKOMP
BPEOZ
BPHCQ
BVXVI
CCPQU
CS3
DU5
DWQXO
E.L
EBS
EDO
EJD
FRNLG
FYUFA
GNUQQ
GROUPED_ABI_INFORM_RESEARCH
GUQSH
HCIFZ
HMCUK
HZ~
H~9
I-F
IBMZZ
ICLAB
IEDLZ
IFIPE
IFJZH
IPLJI
ITG
ITH
JAVBF
K60
K6V
K6~
K7-
L6V
LAI
M0C
M1P
M1Q
M2O
M2P
M43
M7S
MS~
O9-
OCL
OHT
P2P
P62
PHGZM
PHGZT
PJZUB
PPXIY
PQBIZ
PQBZA
PQGLB
PQQKQ
PROAC
PSQYO
PTHSS
PUEGO
Q2X
RIA
RIE
RNI
RNS
RXW
RZB
S10
TAE
TN5
TWZ
UHB
UKHRP
UPT
UQL
VH1
WH7
XOL
YYP
YZZ
ZCG
AAYXX
AFFHD
CITATION
3V.
7XB
88K
8AL
8FK
JQ2
K9.
L.-
M0N
M2T
MBDVC
PKEHL
PQEST
PQUKI
PRINS
Q9U
7SC
7SP
8FD
F28
FR3
L7M
L~C
L~D
ID FETCH-LOGICAL-c362t-99dbd406e2ee511e0c68bea0cbb3541b032a18b2ac16dd35f66b32679ccc2a4a3
IEDL.DBID M1Q
ISICitedReferencesCount 32
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000220740500003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0098-5589
IngestDate Sun Nov 09 12:41:23 EST 2025
Mon Oct 06 17:02:40 EDT 2025
Sat Nov 29 08:10:09 EST 2025
Tue Nov 18 22:10:11 EST 2025
Wed Aug 27 02:47:42 EDT 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c362t-99dbd406e2ee511e0c68bea0cbb3541b032a18b2ac16dd35f66b32679ccc2a4a3
Notes SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ObjectType-Article-2
content type line 23
OpenAccessLink https://biblio.ugent.be/publication/291746/file/451220.pdf
PQID 195572295
PQPubID 21418
PageCount 15
ParticipantIDs crossref_citationtrail_10_1109_TSE_2004_1274043
proquest_miscellaneous_901689002
crossref_primary_10_1109_TSE_2004_1274043
ieee_primary_1274043
proquest_journals_195572295
PublicationCentury 2000
PublicationDate 2004-04-01
PublicationDateYYYYMMDD 2004-04-01
PublicationDate_xml – month: 04
  year: 2004
  text: 2004-04-01
  day: 01
PublicationDecade 2000
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle IEEE transactions on software engineering
PublicationTitleAbbrev TSE
PublicationYear 2004
Publisher IEEE
IEEE Computer Society
Publisher_xml – name: IEEE
– name: IEEE Computer Society
References ref13
ref35
ref12
ref34
ref15
ref14
ref36
ref31
ref30
ref33
ref10
ref32
ref2
ref1
ref17
ref16
ref38
ref19
ref18
Zhang (ref37) 1996
Ashcroft (ref5); 1
ref23
ref26
ref25
ref22
ref21
ref28
ref27
ref29
ref8
ref7
D’Hollander (ref11) 2001
Nielson (ref24) 1993
Kas’janov (ref20) 1975; 16
ref9
ref4
ref3
ref6
References_xml – ident: ref18
  doi: 10.1007/BF00289504
– ident: ref10
  doi: 10.1145/859670.859696
– ident: ref36
  doi: 10.1093/comjnl/21.2.161
– ident: ref9
  doi: 10.1007/3-540-61053-7_55
– ident: ref3
  doi: 10.1109/32.126773
– ident: ref13
  doi: 10.1109/ICCL.1994.288377
– ident: ref29
  doi: 10.1145/355609.362337
– ident: ref27
  doi: 10.1109/32.345827
– volume: 1
  start-page: 250
  volume-title: Proc. IFIP Congress 71
  ident: ref5
  article-title: The Translation of Goto Programs into While Programs
– ident: ref35
  doi: 10.1093/comjnl/28.2.134
– ident: ref12
  doi: 10.1016/S0020-0255(97)10016-0
– ident: ref6
  doi: 10.1007/BFb0105402
– ident: ref34
  doi: 10.1093/comjnl/20.1.45
– ident: ref7
  doi: 10.1145/355592.365646
– ident: ref28
  doi: 10.1007/3-540-55602-8_217
– volume: 16
  start-page: 448
  issue: 5
  year: 1975
  ident: ref20
  article-title: Distinguishing Hammocks in a Directed Graph
  publication-title: Soviet Math. Doklady
– ident: ref14
  doi: 10.1145/24039.24041
– ident: ref17
  doi: 10.1145/363235.363259
– ident: ref30
  doi: 10.1145/48014.48021
– start-page: 47
  year: 2001
  ident: ref11
  article-title: Restructuring Program Transformations with Proof Verification Using PVS
– ident: ref25
  doi: 10.1093/comjnl/25.3.379
– ident: ref38
  doi: 10.1109/ICPADS.1994.590307
– ident: ref2
  doi: 10.1145/567067.567085
– ident: ref8
  doi: 10.1023/A:1007512717742
– ident: ref31
  doi: 10.1016/0167-6423(96)00003-2
– ident: ref32
  doi: 10.1145/567097.567098
– ident: ref19
  doi: 10.1145/267959.269971
– ident: ref22
  doi: 10.1109/TC.1979.1675439
– ident: ref4
  doi: 10.1007/BF00264021
– ident: ref15
  doi: 10.1145/262004.262005
– ident: ref21
  doi: 10.1109/PACT.1998.727261
– ident: ref33
  doi: 10.1109/TSE.1984.5010248
– ident: ref26
  doi: 10.1093/comjnl/30.1.43
– year: 1996
  ident: ref37
  article-title: FPT: A Parallel Programming Environment
– ident: ref1
  doi: 10.1007/978-1-4612-6272-5
– ident: ref16
  doi: 10.1145/321832.321835
– ident: ref23
  doi: 10.1002/(SICI)1096-908X(199701)9:1<47::AID-SMR142>3.0.CO;2-V
– volume-title: Semantics with Applications
  year: 1993
  ident: ref24
SSID ssj0005775
Score 1.9732102
Snippet Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on...
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient code generation is based on...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 231
SubjectTerms Algorithms
Application software
Assembly
Codes
Company structure
Compilers
Computation
Computer architecture
Computer languages
Design optimization
Flow graphs
Graphs
Mathematical analysis
Mathematical models
Optimization
Optimizing compilers
Parallel processing
Parallel programming
Pipeline processing
Program processors
Software engineering
Studies
Transformations
SummonAdditionalLinks – databaseName: IEEE Electronic Library (IEL)
  dbid: RIE
  link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1RS8MwED7m8MEXp05xTiUPvih2a9omaR5FNnwaghP2VpL0hqJ0sm7-ftM03RBF8K20SSmXu3x3vct9AFecS6lUmgfGgk1gEV8FmmoZKAvuFi1YjFI7sgkxmaSzmXxswe3mLAwiuuIzHFSXLpefL8y6-lU2pDaECpN4B3aE4PVZrW05hxCs6Y_JWCqblGQoh9OnkQsEB37-NwhynCo_NmKHLuPO_77rAPa9F0nu6mU_hBYWR9BpGBqIN9gu3LiKAPKirLaZN-K6U5dktSB129j1Eokv0CqP4Xk8mt4_BJ4dITAWdFaBlLnOLRxjhGgFi6HhqUYVGq1jllAdxpGiqY6UoTzPYzbnXFtfTUhjTKQSFZ9Au1gUeAokxoqXT4vU-gMJUqMF45jPc56EZh5R3YNhI7DM-NbhFYPFe-ZCiFBmVsQVoWWSeVH04Hoz46Num_HH2G4l0u245na_WZPM21WZUcmYqBjIe0A2T61BVFkOVeBiXWZW53gq7UZ_9vt7-7C3rb45h7aVN17ArvlcvZbLS6dUX4RZyG0
  priority: 102
  providerName: IEEE
Title Using hammock graphs to structure programs
URI https://ieeexplore.ieee.org/document/1274043
https://www.proquest.com/docview/195572295
https://www.proquest.com/docview/901689002
Volume 30
WOSCitedRecordID wos000220740500003&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVIEE
  databaseName: IEEE Electronic Library (IEL)
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: RIE
  dateStart: 19750101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
– providerCode: PRVPQU
  databaseName: AAdvanced Technologies & Aerospace Database (subscription)
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: P5Z
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/hightechjournals
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ABI/INFORM Collection (ProQuest)
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: 7WY
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/abicomplete
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ABI/INFORM Global
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: M0C
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/abiglobal
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Computer Science Database
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: K7-
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: http://search.proquest.com/compscijour
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Engineering Database
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: M7S
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: http://search.proquest.com
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Health & Medical Collection (Proquest)
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: 7X7
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/healthcomplete
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Military Database
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: M1Q
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/military
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: BENPR
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Research Library
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: M2O
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/pqrl
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: Science Database
  customDbUrl:
  eissn: 1939-3520
  dateEnd: 20120331
  omitProxy: false
  ssIdentifier: ssj0005775
  issn: 0098-5589
  databaseCode: M2P
  dateStart: 19870101
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/sciencejournals
  providerName: ProQuest
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3Pb9MwFH6iLQcubDAQ3aDyYReQTOMktuPTBFMHEloXaBGFS2Q7roSE2q7p9vfv2XVaTZN24fJJ-ano2X7fs_3yPoBTIZTSuqipRbKhyPiaGmYU1UjuyBY8c8oEsQk5HhezmSpjbk4T0ypbnxgcdb20fo18yBTn0mtPn62uqReN8purUUGjAz2Mk5UvnX_Jvu8zPKTkbclMzgvV7lImajidjMLc8CPDWVmSZ_dYKcisPPDNgXAuDv7zUw_heYw0yadt13gBT9ziJRy0Kg4kDuoj-BCyBohfwkbfSL74CtYN2SzJJJSWvVk7Um6TuJpX8PNiND3_SqOCArVITBuqVG1qpGyXOofGd4kVhXE6scZkPGcmyVLNCpNqy0RdZ3wuhMF4Tiprbapznb2G7mK5cG-AZM5r9xlZYMyQO2aN5MLV81rkiZ2nzPRh2FqwsrG8uFe5-FeFaUaiKrS5F73Mq2jzPrzfPbHaltZ45N4j3yj7-9rTJ20LVHHsNdXO_H0gu6s4aPxOiF645U1TYb8UhUIyOH70BSfwbJ-o8xa6aHb3Dp7a283fZj2Ajvz12-NMDqD3eTQuf-DRN0kRL5PzQeiMHtOrgGXAqUc5QSz5n0H43_AOCnfjiA
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1NbxMxEB2loVJ7IdAWEcKHD_QAkpv9sr0-IIQgIVVKFKlBym2xvY6EhJK2m4D4UfxHxs46UYWUWw5cd72WtTN-z2OP5wG85lxKpfKSGiQbioyvqI61pArJHdmCpVZqLzYhRqN8OpXjBvwJd2FcWmXARA_U5cK4PfJuLBkTTnv6_c0tdaJR7nA1KGisvWJof__CiK16d_kJzXueJP3e5OOA1qIC1CBWL6mUpS6RxWxiLY7HRobn2qrIaJ2yLNZRmqg414kyMS_LlM0417jEEdIYk6hMpdjvATzI0ly4aTUUdJtRIgQLJToZy2U4FY1kd3Ld87HoRYxRYJSl91jQy7r8wwWe4Pqt_-zXPIKH9UqafFi7_mNo2PkJtIJKBalB6xTe-qwI4rboEfvJZ1ehuyLLBbn2pXNXd5aM10lq1Rl83cuIn0Bzvpjbp0BS67QJtchxTZTZ2GjBuC1nJc8iM0ti3YZusFhh6vLpTsXjR-HDqEgWaGMn6pkVtY3b8Gbzxc26dMiOtqfOCbbtwuNOsHhRY0tVbMzdBrJ5i6DgTnrU3C5WVYHzjucSye7Zzg5ewdFg8uWquLocDTtwvE1Keg5NNIF9AYfm5_J7dffSOzqBb_t2n7-IETa6
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Using+Hammock+Graphs+to+Structure+Programs&rft.jtitle=IEEE+transactions+on+software+engineering&rft.au=Zhang%2C+Fubo&rft.au=H+D%27Hollander%2C+Erik&rft.date=2004-04-01&rft.pub=IEEE+Computer+Society&rft.issn=0098-5589&rft.eissn=1939-3520&rft.volume=30&rft.issue=4&rft.spage=231&rft_id=info:doi/10.1109%2FTSE.2004.1274043&rft.externalDocID=609049781
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0098-5589&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0098-5589&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0098-5589&client=summon