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...
Gespeichert in:
| Veröffentlicht in: | IEEE transactions on software engineering Jg. 30; H. 4; S. 231 - 245 |
|---|---|
| Hauptverfasser: | , |
| 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 |