Procedural Abstraction with Reverse Prefix Trees

For memory constrained environments like embedded systems, optimization for size is often as important as, if not more important than, optimization for execution speed. A common technique for compacting code is procedural abstraction. Equivalent code fragments are identified and abstracted into a pr...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Code Generation and Optimization, Proceedings s. 243 - 253
Hlavní autori: Schaeckeler, Stefan, Shang, Weijia
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: Washington, DC, USA IEEE Computer Society 22.03.2009
IEEE
Edícia:ACM Conferences
Predmet:
ISBN:9780769535760, 0769535763
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract For memory constrained environments like embedded systems, optimization for size is often as important as, if not more important than, optimization for execution speed. A common technique for compacting code is procedural abstraction. Equivalent code fragments are identified and abstracted into a procedure. The standard algorithm for identifying these fragments is based on suffix trees. We propose in this paper the calculation of suffix trees over the program text not in the common top-down fashion, but reversed, i.e. bottom-up. With this simple modification, not only equivalent fragments can be identified, but also fragments equivalent to (possibly often differently long) suffixes of the longest fragments. A longest fragment is then abstracted, and all fragments are replaced by procedure calls to their corresponding start instruction somewhere in the abstracted procedure. This allows us to harvest more and longer fragments than with standard suffix trees, improving code size reductions on average by 8.277% over standard suffix trees.
AbstractList For memory constrained environments like embedded systems, optimization for size is often as important as, if not more important than, optimization for execution speed. A common technique for compacting code is procedural abstraction. Equivalent code fragments are identified and abstracted into a procedure. The standard algorithm for identifying these fragments is based on suffix trees. We propose in this paper the calculation of suffix trees over the program text not in the common top-down fashion, but reversed, i.e. bottom-up. With this simple modification, not only equivalent fragments can be identified, but also fragments equivalent to (possibly often differently long) suffixes of the longest fragments. A longest fragment is then abstracted, and all fragments are replaced by procedure calls to their corresponding start instruction somewhere in the abstracted procedure. This allows us to harvest more and longer fragments than with standard suffix trees, improving code size reductions on average by 8.277% over standard suffix trees.
Author Schaeckeler, Stefan
Shang, Weijia
Author_xml – sequence: 1
  givenname: Stefan
  surname: Schaeckeler
  fullname: Schaeckeler, Stefan
– sequence: 2
  givenname: Weijia
  surname: Shang
  fullname: Shang, Weijia
BookMark eNqNkE1LAzEQhgNa0NY9efSyB0_CrvnY2STHsmgVCi1SzyFJZ3G13ZVk_fr3ptQf4MAwA8_LwDxTctoPPRJyyWjJGNW3zWJVckp1yeGEZFoqKmsNAmRNJ2SaiNIVrxQ_I1mMrzQVgKKCnRO6DoPH7Uewu3zu4hisH7uhz7-68SV_wk8MEfN1wLb7zjcBMV6QSWt3EbO_OSPP93eb5qFYrhaPzXxZWAbVWAiPEtLqWrTIrFXAD-3A1cJ6BOkpIhNcy0oAag7It1JQJ4QVSmkpZuTqeLdDRPMeur0NP6bS6bNaJXp9pNbvjRuGt2gYNQcXJrkwBxeGQ4rd_CNmXOiwFb9vmVyv
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/CGO.2009.25
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EndPage 253
ExternalDocumentID 4907668
Genre orig-research
GroupedDBID 6IE
6IF
6IK
6IL
6IN
AAJGR
AARBI
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IERZE
OCL
RIB
RIC
RIE
RIL
AAWTH
LHSKQ
ID FETCH-LOGICAL-a154t-3ce75a15bfeae1aa852a852b5b63ace57c0ee13297435e925e2d730b33a388973
IEDL.DBID RIE
ISBN 9780769535760
0769535763
IngestDate Wed Aug 27 01:41:58 EDT 2025
Wed Jan 31 06:49:08 EST 2024
Wed Jan 31 06:50:21 EST 2024
IsPeerReviewed false
IsScholarly false
Keywords code compaction
reverse prefix tree
embedded systems
suffix tree
post-pass optimization
program visualization
code size reduction
procedural abstraction
LCCN 2008942482
Language English
LinkModel DirectLink
MeetingName CGO '09: 7th Annual IEEE/ ACM International Symposium on Code Generation and Optimization
MergedId FETCHMERGED-LOGICAL-a154t-3ce75a15bfeae1aa852a852b5b63ace57c0ee13297435e925e2d730b33a388973
PageCount 11
ParticipantIDs acm_books_10_1109_CGO_2009_25
acm_books_10_1109_CGO_2009_25_brief
ieee_primary_4907668
PublicationCentury 2000
PublicationDate 20090322
2009-March
PublicationDateYYYYMMDD 2009-03-22
2009-03-01
PublicationDate_xml – month: 03
  year: 2009
  text: 20090322
  day: 22
PublicationDecade 2000
PublicationPlace Washington, DC, USA
PublicationPlace_xml – name: Washington, DC, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle Code Generation and Optimization, Proceedings
PublicationTitleAbbrev CGO
PublicationYear 2009
Publisher IEEE Computer Society
IEEE
Publisher_xml – name: IEEE Computer Society
– name: IEEE
SSID ssj0000558031
Score 1.4180611
Snippet For memory constrained environments like embedded systems, optimization for size is often as important as, if not more important than, optimization for...
SourceID ieee
acm
SourceType Publisher
StartPage 243
SubjectTerms Assembly
code compaction
code size reduction
Code standards
Compaction
Constraint optimization
Costs
Embedded computing
Embedded system
embedded systems
Personal digital assistants
post-pass optimization
procedural abstraction
program visualization
Random access memory
reverse prefix tree
Software and its engineering -- Software notations and tools -- Compilers
Software and its engineering -- Software notations and tools -- General programming languages -- Language features -- Procedures, functions and subroutines
suffix tree
Visualization
Title Procedural Abstraction with Reverse Prefix Trees
URI https://ieeexplore.ieee.org/document/4907668
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PS8MwFH5sw4MnlU2cOino0bq0aZrkKMPpQeaQCbuFJH2FHdxk68Q_3yStE0EED4U0pVC-pLwfed_7AK4MLYxgBYmddRBxlmISa6JtTJjJ3XYoi7xumf_IJxMxn8tpC653XBhEDMVneOOH4Sy_WNmtT5UNMxfJ5bloQ5vzvOZq7fIphDHhNmgdmUtGnR9NmwY7X_ek4eclRA5H9091s0qvkd3W9vWHukowLuOD_33WIfS-WXrRdGd_jqCFyy6QMFP4ZhrRrfF5jEBciHy-NXpGX4Th38Jy8RHN1oibHryM72ajh7hRRYi1c3eqmFrkzA1NiRoTrQVL_WUcuFRbZNwSRC8f73wDhjJlmBbuNzaUaiqE5PQYOsvVEk8g0jQ1WnBMhKEZs1o6286koInlGVqUfRg4ZJR39zcqRAtEKoec166UKmV9uPzzuTIu3C_70PWYqbe6fYZq4Dr9ffoM9usDG1_mdQ6dar3FAezZ92qxWV-ENf8EYxik6A
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PS8MwFH5sU9CTyiZOnRb0aF3aNG1ylOGcOOeQCbuFJH2FHdxk3cQ_36StE0EED4U0pVC-pLwfed_7AC41TTVnKfGtdeB-FGLgK6KMT5iO7XbI0rhsmT9MRiM-nYpxDa42XBhELIrP8NoNi7P8dGHWLlXWjWwkF8e8DlssikJSsrU2GRXCGLdbtIzNBaPWk6ZVi52ve1Ix9AIiur27p7JdpVPJrivz-kNfpTAv_b3_fdg-tL55et54Y4EOoIbzJpBiJnXtNLwb7TIZBXXBcxlX7xldGYZ7C7PZhzdZIuYteOnfTnoDv9JF8JV1eFY-NZgwO9QZKgyU4ix0l7bwUmWQJYYgOgF56x0wFCHDMLU_sqZUUc5FQg-hMV_M8Qg8RUOteIIB1zRiRglr3ZngNDBJhAZFGzoWGekc_lwW8QIR0iLn1CuFDFkbLv58LrUN-LM2NB1m8q1soCEruI5_nz6HncHkcSiH96OHE9gtj29c0dcpNFbLNXZg27yvZvnyrFj_Ty3nqC8
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%3Abook&rft.genre=proceeding&rft.title=Code+Generation+and+Optimization%2C+Proceedings&rft.atitle=Procedural+Abstraction+with+Reverse+Prefix+Trees&rft.au=Schaeckeler%2C+S.&rft.au=Shang%2C+W.&rft.date=2009-03-01&rft.pub=IEEE&rft.isbn=9780769535760&rft.spage=243&rft.epage=253&rft_id=info:doi/10.1109%2FCGO.2009.25&rft.externalDocID=4907668
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769535760/sc.gif&client=summon&freeimage=true