{"id":"https://openalex.org/W4367847590","doi":"https://doi.org/10.1145/3594736","title":"Side-channel Elimination via Partial Control-flow Linearization","display_name":"Side-channel Elimination via Partial Control-flow Linearization","publication_year":2023,"publication_date":"2023-05-03","ids":{"openalex":"https://openalex.org/W4367847590","doi":"https://doi.org/10.1145/3594736"},"language":"en","primary_location":{"id":"doi:10.1145/3594736","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594736","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594736","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3594736","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082841181","display_name":"Luigi Soares","orcid":"https://orcid.org/0000-0002-9579-8427"},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Luigi Soares","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":"https://orcid.org/0000-0002-9579-8427","affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078552438","display_name":"Michael Canesche","orcid":"https://orcid.org/0000-0001-7882-0787"},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Michael Canesche","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":"https://orcid.org/0000-0001-7882-0787","affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078149140","display_name":"Fernando Magno Quint\u00e3o Pereira","orcid":"https://orcid.org/0000-0002-0375-1657"},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Fernando Magno Quint\u00e3o Pereira","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":"https://orcid.org/0000-0002-0375-1657","affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5082841181"],"corresponding_institution_ids":["https://openalex.org/I4210134014"],"apc_list":null,"apc_paid":null,"fwci":1.5337,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.85766257,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"45","issue":"2","first_page":"1","last_page":"43"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9977999925613403,"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/T10951","display_name":"Cryptographic Implementations and Security","score":0.9837999939918518,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.8392475843429565},{"id":"https://openalex.org/keywords/linearization","display_name":"Linearization","score":0.7106802463531494},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.677603006362915},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.6667506694793701},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.6125665903091431},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"Partial evaluation","score":0.6001459956169128},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.5561265349388123},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5276079177856445},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.46082887053489685},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.44133085012435913},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.41595354676246643},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3095475137233734},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.25313588976860046},{"id":"https://openalex.org/keywords/nonlinear-system","display_name":"Nonlinear system","score":0.0817686915397644}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8392475843429565},{"id":"https://openalex.org/C11210021","wikidata":"https://www.wikidata.org/wiki/Q1520713","display_name":"Linearization","level":3,"score":0.7106802463531494},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.677603006362915},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.6667506694793701},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.6125665903091431},{"id":"https://openalex.org/C195701839","wikidata":"https://www.wikidata.org/wiki/Q4008398","display_name":"Partial evaluation","level":2,"score":0.6001459956169128},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.5561265349388123},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5276079177856445},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.46082887053489685},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.44133085012435913},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.41595354676246643},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3095475137233734},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.25313588976860046},{"id":"https://openalex.org/C158622935","wikidata":"https://www.wikidata.org/wiki/Q660848","display_name":"Nonlinear system","level":2,"score":0.0817686915397644},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3594736","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594736","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594736","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3594736","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3594736","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3594736","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.5199999809265137,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G121135710","display_name":null,"funder_award_id":"406377/2018-9","funder_id":"https://openalex.org/F4320322980","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais"},{"id":"https://openalex.org/G1610833387","display_name":null,"funder_award_id":"PPM-00333-18","funder_id":"https://openalex.org/F4320322025","funder_display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico"},{"id":"https://openalex.org/G3450071318","display_name":null,"funder_award_id":"PPM-00333-18","funder_id":"https://openalex.org/F4320322980","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais"},{"id":"https://openalex.org/G3506685208","display_name":null,"funder_award_id":"406377/2018-9","funder_id":"https://openalex.org/F4320321091","funder_display_name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior"},{"id":"https://openalex.org/G6661362747","display_name":null,"funder_award_id":"406377/2018-9","funder_id":"https://openalex.org/F4320322025","funder_display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico"},{"id":"https://openalex.org/G8528221304","display_name":null,"funder_award_id":"PPM-00333-18","funder_id":"https://openalex.org/F4320321091","funder_display_name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior"}],"funders":[{"id":"https://openalex.org/F4320321091","display_name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior","ror":"https://ror.org/00x0ma614"},{"id":"https://openalex.org/F4320322025","display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico","ror":"https://ror.org/03swz6y49"},{"id":"https://openalex.org/F4320322980","display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais","ror":"https://ror.org/00nc55f03"},{"id":"https://openalex.org/F4320323809","display_name":"Minist\u00e9rio da Educa\u00e7\u00e3o","ror":"https://ror.org/04d0xx942"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4367847590.pdf","grobid_xml":"https://content.openalex.org/works/W4367847590.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W38257615","https://openalex.org/W1605034451","https://openalex.org/W1613874182","https://openalex.org/W1811355673","https://openalex.org/W1994316441","https://openalex.org/W1997493523","https://openalex.org/W1997775274","https://openalex.org/W2039026682","https://openalex.org/W2062463502","https://openalex.org/W2076090418","https://openalex.org/W2079573490","https://openalex.org/W2083221501","https://openalex.org/W2094969361","https://openalex.org/W2112826387","https://openalex.org/W2140311411","https://openalex.org/W2144344516","https://openalex.org/W2153185479","https://openalex.org/W2154909745","https://openalex.org/W2156858199","https://openalex.org/W2295329047","https://openalex.org/W2296151933","https://openalex.org/W2297720648","https://openalex.org/W2581519992","https://openalex.org/W2597472572","https://openalex.org/W2602832808","https://openalex.org/W2736862702","https://openalex.org/W2798404616","https://openalex.org/W2909521345","https://openalex.org/W2955155286","https://openalex.org/W2960006911","https://openalex.org/W2963047853","https://openalex.org/W2963336730","https://openalex.org/W2964061050","https://openalex.org/W2995664728","https://openalex.org/W3015276542","https://openalex.org/W3092300773","https://openalex.org/W3137537256","https://openalex.org/W3152824079","https://openalex.org/W3153387123","https://openalex.org/W3155543450","https://openalex.org/W3211894565","https://openalex.org/W4205110562","https://openalex.org/W4220796482"],"related_works":["https://openalex.org/W1577610794","https://openalex.org/W1970625600","https://openalex.org/W2170281131","https://openalex.org/W1993524544","https://openalex.org/W4367847590","https://openalex.org/W3049435308","https://openalex.org/W2111320546","https://openalex.org/W2963311013","https://openalex.org/W2340044120","https://openalex.org/W3165577427"],"abstract_inverted_index":{"Partial":[0],"control-flow":[1,29],"linearization":[2,30],"is":[3,38,67,86,96,106,195],"a":[4,20,124],"code":[5],"transformation":[6,37,85,110,138,169],"conceived":[7],"to":[8,72,181],"maximize":[9],"work":[10,141],"performed":[11],"in":[12,80,142,159,179],"vectorized":[13],"programs.":[14],"In":[15],"this":[16],"article,":[17],"we":[18],"find":[19],"new":[21],"service":[22],"for":[23],"it.":[24],"We":[25],"show":[26],"that":[27,90,100,113,122],"partial":[28],"protects":[31],"programs":[32,189],"against":[33],"timing":[34],"attacks.":[35],"This":[36],"sound:":[39],"Given":[40],"an":[41],"instance":[42],"of":[43,56,59],"its":[44],"public":[45,104,117],"inputs,":[46],"the":[47,53,64,73,81,109,131,160],"partially":[48],"linearized":[49],"program":[50,66,133],"always":[51],"runs":[52],"same":[54],"sequence":[55],"instructions,":[57],"regardless":[58],"secret":[60,94,128],"inputs.":[61],"Incidentally,":[62],"if":[63],"original":[65],"publicly":[68],"safe,":[69],"then":[70,130],"accesses":[71],"data":[74,78,95,105],"cache":[75],"will":[76,134],"be":[77],"oblivious":[79],"transformed":[82,132],"code.":[83],"The":[84],"optimal:":[87],"Every":[88],"branch":[89,99,121],"depends":[91,101,126],"on":[92,102,116,127],"some":[93],"linearized;":[97],"no":[98],"only":[103],"linearized.":[107],"Therefore,":[108],"preserves":[111],"loops":[112,191],"depend":[114],"exclusively":[115],"information.":[118,177],"If":[119],"every":[120],"leaves":[123],"loop":[125],"data,":[129],"not":[135,196],"terminate.":[136],"Our":[137],"extends":[139],"previous":[140],"non-trivial":[143],"ways.":[144],"It":[145],"handles":[146,188],"C":[147],"constructs":[148],"such":[149],"as":[150],"\u201cgoto,\u201d":[151],"\u201cbreak,\u201d":[152],"\u201cswitch,\u201d":[153],"and":[154,184],"\u201ccontinue,\u201d":[155],"which":[156],"are":[157],"absent":[158],"FaCT":[161],"domain-specific":[162],"language":[163],"(2018).":[164],"Like":[165],"Constantine":[166],"(2021),":[167,186],"our":[168],"ensures":[170],"operation":[171],"invariance":[172],"but":[173],"without":[174],"requiring":[175],"profiling":[176],"Additionally,":[178],"contrast":[180],"SC-Eliminator":[182],"(2018)":[183],"Lif":[185],"it":[187],"containing":[190],"whose":[192],"trip":[193],"count":[194],"known":[197],"at":[198],"compilation":[199],"time.":[200]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
