{"id":"https://openalex.org/W3137688009","doi":"https://doi.org/10.1109/cgo51591.2021.9370306","title":"An Experience with Code-Size Optimization for Production iOS Mobile Applications","display_name":"An Experience with Code-Size Optimization for Production iOS Mobile Applications","publication_year":2021,"publication_date":"2021-02-27","ids":{"openalex":"https://openalex.org/W3137688009","doi":"https://doi.org/10.1109/cgo51591.2021.9370306","mag":"3137688009"},"language":"en","primary_location":{"id":"doi:10.1109/cgo51591.2021.9370306","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370306","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5055733971","display_name":"Milind Chabbi","orcid":"https://orcid.org/0000-0003-1021-7644"},"institutions":[{"id":"https://openalex.org/I2946016260","display_name":"Uber AI (United States)","ror":"https://ror.org/05vm0ed18","country_code":"US","type":"company","lineage":["https://openalex.org/I2946016260"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Milind Chabbi","raw_affiliation_strings":["Programming Systems Group, Uber Technologies, Palo Alto, USA"],"affiliations":[{"raw_affiliation_string":"Programming Systems Group, Uber Technologies, Palo Alto, USA","institution_ids":["https://openalex.org/I2946016260"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5000282384","display_name":"Jin Lin","orcid":null},"institutions":[{"id":"https://openalex.org/I2946016260","display_name":"Uber AI (United States)","ror":"https://ror.org/05vm0ed18","country_code":"US","type":"company","lineage":["https://openalex.org/I2946016260"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jin Lin","raw_affiliation_strings":["Programming Systems Group, Uber Technologies, Palo Alto, USA"],"affiliations":[{"raw_affiliation_string":"Programming Systems Group, Uber Technologies, Palo Alto, USA","institution_ids":["https://openalex.org/I2946016260"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102819808","display_name":"Rajkishore Barik","orcid":"https://orcid.org/0000-0003-4779-1391"},"institutions":[{"id":"https://openalex.org/I2946016260","display_name":"Uber AI (United States)","ror":"https://ror.org/05vm0ed18","country_code":"US","type":"company","lineage":["https://openalex.org/I2946016260"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Raj Barik","raw_affiliation_strings":["Programming Systems Group, Uber Technologies, Palo Alto, USA"],"affiliations":[{"raw_affiliation_string":"Programming Systems Group, Uber Technologies, Palo Alto, USA","institution_ids":["https://openalex.org/I2946016260"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5055733971"],"corresponding_institution_ids":["https://openalex.org/I2946016260"],"apc_list":null,"apc_paid":null,"fwci":6.0589,"has_fulltext":false,"cited_by_count":28,"citation_normalized_percentile":{"value":0.96278692,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"363","last_page":"377"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9936000108718872,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9936000108718872,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9932000041007996,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9894999861717224,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8354654312133789},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5519360303878784},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.5460008978843689},{"id":"https://openalex.org/keywords/vendor","display_name":"Vendor","score":0.53500896692276},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5163334608078003},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.49592289328575134},{"id":"https://openalex.org/keywords/binary-translation","display_name":"Binary translation","score":0.4908038079738617},{"id":"https://openalex.org/keywords/dead-code","display_name":"Dead code","score":0.47763529419898987},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.47743186354637146},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.40333548188209534},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4000887870788574},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3888453245162964},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.32801318168640137},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.24383580684661865},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.23894697427749634}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8354654312133789},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5519360303878784},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.5460008978843689},{"id":"https://openalex.org/C2777338717","wikidata":"https://www.wikidata.org/wiki/Q1762621","display_name":"Vendor","level":2,"score":0.53500896692276},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5163334608078003},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.49592289328575134},{"id":"https://openalex.org/C2778971978","wikidata":"https://www.wikidata.org/wiki/Q2287075","display_name":"Binary translation","level":3,"score":0.4908038079738617},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.47763529419898987},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.47743186354637146},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.40333548188209534},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4000887870788574},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3888453245162964},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.32801318168640137},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.24383580684661865},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.23894697427749634},{"id":"https://openalex.org/C162853370","wikidata":"https://www.wikidata.org/wiki/Q39809","display_name":"Marketing","level":1,"score":0.0},{"id":"https://openalex.org/C144133560","wikidata":"https://www.wikidata.org/wiki/Q4830453","display_name":"Business","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo51591.2021.9370306","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370306","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.550000011920929,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W1551330847","https://openalex.org/W1969031936","https://openalex.org/W2000722076","https://openalex.org/W2002973181","https://openalex.org/W2005985523","https://openalex.org/W2010452422","https://openalex.org/W2028800816","https://openalex.org/W2052934867","https://openalex.org/W2064820590","https://openalex.org/W2085427809","https://openalex.org/W2102890180","https://openalex.org/W2103816232","https://openalex.org/W2104512898","https://openalex.org/W2107581073","https://openalex.org/W2121070329","https://openalex.org/W2150082535","https://openalex.org/W2155917498","https://openalex.org/W2164617852","https://openalex.org/W2167753650","https://openalex.org/W2294934420","https://openalex.org/W2762844179","https://openalex.org/W3033154127","https://openalex.org/W3090533092","https://openalex.org/W4234032280","https://openalex.org/W4235002328","https://openalex.org/W4246166885","https://openalex.org/W4248255691","https://openalex.org/W4253028275","https://openalex.org/W4301666354","https://openalex.org/W4302082737"],"related_works":["https://openalex.org/W116913286","https://openalex.org/W2160620982","https://openalex.org/W4235592786","https://openalex.org/W1493727516","https://openalex.org/W2369241479","https://openalex.org/W4229813677","https://openalex.org/W632311702","https://openalex.org/W2123574549","https://openalex.org/W1777501891","https://openalex.org/W4245640102"],"abstract_inverted_index":{"Modern":[0],"mobile":[1,69],"application":[2,27],"binaries":[3],"are":[4],"bulky":[5],"for":[6,33,39,51],"many":[7],"reasons:":[8],"software":[9],"and":[10,21,79,98,199,202,205],"its":[11],"dependencies,":[12],"fast-paced":[13],"addition":[14],"of":[15,60,64,77,130,143,156,175],"new":[16,132],"features,":[17],"high-level":[18,99],"language":[19,100],"constructs,":[20],"statically":[22],"linked":[23],"platform":[24],"libraries.":[25],"Reduced":[26],"size":[28,42,46,151,162,207],"is":[29],"critical":[30,52],"not":[31,186],"only":[32],"the":[34,61,91,108,123,128,136,149,160,169,180,183,193],"end-user":[35],"experience":[36],"but":[37],"also":[38],"vendor's":[40],"download":[41,45],"limitations.":[43],"Moreover,":[44],"restrictions":[47],"may":[48],"impact":[49,155],"revenues":[50],"businesses.":[53],"In":[54],"this":[55],"paper,":[56],"we":[57],"highlight":[58,95],"some":[59],"key":[62],"reasons":[63],"code-size":[65,124],"bloat":[66],"in":[67,107,164],"iOS":[68,138],"applications,":[70],"specifically":[71],"apps":[72,201],"written":[73],"using":[74],"a":[75,173],"mix":[76],"Swift":[78],"Objective-C.":[80],"Our":[81,146],"observation":[82],"reveals":[83],"that":[84,102],"machine":[85],"code":[86,109,150,161,170],"sequences":[87],"systematically":[88],"repeat":[89],"throughout":[90],"app's":[92],"binary.":[93],"We":[94,111,126,191],"source-code":[96],"patterns":[97],"constructs":[101],"lead":[103],"to":[104,121,196],"an":[105,118],"increase":[106],"size.":[110],"propose":[112],"whole-program,":[113],"fine-grained":[114],"machine-code":[115],"outlining":[116],"as":[117,168],"effective":[119],"optimization":[120,133],"constrain":[122],"growth.":[125],"evaluate":[127],"effectiveness":[129],"our":[131,157],"pipeline":[134],"on":[135,159],"UberRider":[137],"app":[139,181],"used":[140],"by":[141,152,179],"millions":[142],"customers":[144],"daily.":[145],"optimizations":[147,158,184,195],"reduce":[148],"23%.":[153],"The":[154],"grows":[163],"magnitude":[165],"over":[166],"time":[167],"evolves.":[171],"For":[172],"set":[174],"performance":[176],"spans":[177],"defined":[178],"developers,":[182],"do":[185],"statistically":[187],"regress":[188],"production":[189],"performance.":[190],"applied":[192],"same":[194],"Uber's":[197],"UberDriver":[198],"UberEats":[200],"gained":[203],"17%":[204],"19%":[206],"savings,":[208],"respectively.":[209]},"counts_by_year":[{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":4}],"updated_date":"2026-01-09T23:09:53.351390","created_date":"2025-10-10T00:00:00"}
