{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,8]],"date-time":"2026-01-08T06:35:38Z","timestamp":1767854138296,"version":"3.49.0"},"reference-count":64,"publisher":"IEEE","license":[{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021,2,27]]},"DOI":"10.1109\/cgo51591.2021.9370306","type":"proceedings-article","created":{"date-parts":[[2021,3,11]],"date-time":"2021-03-11T21:33:26Z","timestamp":1615498406000},"page":"363-377","source":"Crossref","is-referenced-by-count":25,"title":["An Experience with Code-Size Optimization for Production iOS Mobile Applications"],"prefix":"10.1109","author":[{"given":"Milind","family":"Chabbi","sequence":"first","affiliation":[]},{"given":"Jin","family":"Lin","sequence":"additional","affiliation":[]},{"given":"Raj","family":"Barik","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref39","author":"paquette","year":"0","journal-title":"Reducing code size using outlining"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/3377813.3381350"},{"key":"ref33","year":"0","journal-title":"RxSwift ReactiveX for Swift"},{"key":"ref32","year":"0","journal-title":"ARM A64 Instruction Set Architecture"},{"key":"ref31","year":"0","journal-title":"TIOBE index for august 2020"},{"key":"ref30","author":"peng","year":"0","journal-title":"Function outlining"},{"key":"ref37","year":"0","journal-title":"Swift Protobuf"},{"key":"ref36","year":"0","journal-title":"Freddy"},{"key":"ref35","year":"0","journal-title":"Swift NIO"},{"key":"ref34","year":"0","journal-title":"SnapKit A Swift Autolayout DSL for iOS and OS X"},{"key":"ref60","year":"2019","journal-title":"Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions"},{"key":"ref62","year":"2019","journal-title":"Fix conflict value for metadata Objective-C Garbage Collection in the mix of swift and Objective-C bitcode"},{"key":"ref61","year":"2019","journal-title":"Support repeated machine outlining"},{"key":"ref63","year":"2021","journal-title":"Preserve the lexical order of global variables during llvm-link merge"},{"key":"ref28","author":"pitre","year":"2018","journal-title":"Shrinking the kernel with link-time optimization"},{"key":"ref64","author":"ray","year":"0","journal-title":"Swift Algorithm Club"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.3"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1109\/CAHPC.2005.26"},{"key":"ref2","year":"0","journal-title":"App Store"},{"key":"ref1","author":"mansoor","year":"2020","journal-title":"AppRevenue Statistics (2019)"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349233"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/3136040.3136057"},{"key":"ref24","article-title":"PIto: A link-time optimizer for the Intel IA-32 architecture","author":"schwarz","year":"2001","journal-title":"Proc 2001 Workshop on Binary Translation (WBT-2001)"},{"key":"ref23","author":"glek","year":"2010","journal-title":"Optimizing real world applications with GCC Link Time Optimization"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/1065910.1065925"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1145\/1210268.1210273"},{"key":"ref50","year":"0","journal-title":"The Swift Runtime"},{"key":"ref51","year":"0","journal-title":"The Swift Calling Convention"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281680"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(19980710)28:8<859::AID-SPE188>3.0.CO;2-8"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48294-6_13"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2009.19"},{"key":"ref55","author":"phill","year":"0","journal-title":"Encoding and Decoding JSON with Swift 4"},{"key":"ref54","year":"0","journal-title":"Error Handling"},{"key":"ref53","year":"0","journal-title":"Tiny http server engine written in Swift programming language"},{"key":"ref52","year":"0","journal-title":"64-Bit Architecture Register Usage"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/103135.103136"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/2000417.2000421"},{"key":"ref40","author":"developers","year":"2018","journal-title":"PMD An extensible cross-language static code analyzer"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/997163.997196"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/314403.314414"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.15"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258947"},{"key":"ref16","doi-asserted-by":"crossref","first-page":"85","DOI":"10.1145\/2597809.2597811","article-title":"Exploiting function similarity for code size reduction","author":"von koch","year":"2014","journal-title":"Proceedings of the 2014 SIGPLAN\/SIGBED Conference on Languages Compilers and Tools for Embedded Systems ser LCTES '14"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-44898-5_23"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/951710.951724"},{"key":"ref19","doi-asserted-by":"crossref","first-page":"122","DOI":"10.1145\/36206.36194","article-title":"Superoptimizer: A look at the smallest program","author":"massalin","year":"1987","journal-title":"Proceedings of the Second International Conference on Architectual Support for Programming Languages and Operating Systems ser ASPLOS II"},{"key":"ref4","author":"torczon","year":"2007","journal-title":"Engineering a Compiler"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/937503.937504"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/319301.319348"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/390013.808480"},{"key":"ref8","article-title":"A catalogue of optimizing transformations","author":"thomas","year":"1971","journal-title":"IBM technical reports"},{"key":"ref7","author":"aho","year":"2007","journal-title":"Compilers Principles Techniques and Tools Second Edition"},{"key":"ref49","year":"0","journal-title":"Fractal"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/73560.73562"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/3133908"},{"key":"ref45","author":"riddle","year":"2018","journal-title":"IR Outliner Pass"},{"key":"ref48","year":"0","journal-title":"MergeSimilarFunctions"},{"key":"ref47","author":"rocha","year":"2018","journal-title":"CGOI9FMSA tar gz"},{"key":"ref42","year":"0","journal-title":"MergeFunctions pass how it works"},{"key":"ref41","year":"0","journal-title":"The swift programming language"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386030"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2019.8661174"}],"event":{"name":"2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO)","location":"Seoul, Korea (South)","start":{"date-parts":[[2021,2,27]]},"end":{"date-parts":[[2021,3,3]]}},"container-title":["2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/9370300\/9370301\/09370306.pdf?arnumber=9370306","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,21]],"date-time":"2022-12-21T06:10:11Z","timestamp":1671603011000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9370306\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,27]]},"references-count":64,"URL":"https:\/\/doi.org\/10.1109\/cgo51591.2021.9370306","relation":{},"subject":[],"published":{"date-parts":[[2021,2,27]]}}}