{"id":"https://openalex.org/W2967845347","doi":"https://doi.org/10.1145/3338906.3338913","title":"Mitigating power side channels during compilation","display_name":"Mitigating power side channels during compilation","publication_year":2019,"publication_date":"2019-08-09","ids":{"openalex":"https://openalex.org/W2967845347","doi":"https://doi.org/10.1145/3338906.3338913","mag":"2967845347"},"language":"en","primary_location":{"id":"doi:10.1145/3338906.3338913","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3338906.3338913","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","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/A5100456758","display_name":"Jingbo Wang","orcid":"https://orcid.org/0000-0001-5877-2677"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jingbo Wang","raw_affiliation_strings":["University of Southern California, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033952370","display_name":"Chungha Sung","orcid":null},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chungha Sung","raw_affiliation_strings":["University of Southern California, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, USA","institution_ids":["https://openalex.org/I1174212"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5115076700","display_name":"Chao Wang","orcid":"https://orcid.org/0000-0003-4887-923X"},"institutions":[{"id":"https://openalex.org/I1174212","display_name":"University of Southern California","ror":"https://ror.org/03taz7m60","country_code":"US","type":"education","lineage":["https://openalex.org/I1174212"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chao Wang","raw_affiliation_strings":["University of Southern California, USA"],"affiliations":[{"raw_affiliation_string":"University of Southern California, USA","institution_ids":["https://openalex.org/I1174212"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5100456758"],"corresponding_institution_ids":["https://openalex.org/I1174212"],"apc_list":null,"apc_paid":null,"fwci":2.9403,"has_fulltext":false,"cited_by_count":30,"citation_normalized_percentile":{"value":0.93090726,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"590","last_page":"601"},"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.9998000264167786,"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.9998000264167786,"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.9997000098228455,"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.9991000294685364,"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.8688992261886597},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7885479927062988},{"id":"https://openalex.org/keywords/side-channel-attack","display_name":"Side channel attack","score":0.6498878598213196},{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.5650482177734375},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5339772701263428},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.5000855922698975},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.4947013556957245},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4891875088214874},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.4765208959579468},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4684610068798065},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.44276145100593567},{"id":"https://openalex.org/keywords/processor-register","display_name":"Processor register","score":0.4389209449291229},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.43845996260643005},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.42053452134132385},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4179673194885254},{"id":"https://openalex.org/keywords/cryptography","display_name":"Cryptography","score":0.3871396780014038},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.37868770956993103},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.30157214403152466},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2874528467655182},{"id":"https://openalex.org/keywords/memory-address","display_name":"Memory address","score":0.18725427985191345},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.1596682071685791},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.11930370330810547},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.11855319142341614}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8688992261886597},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7885479927062988},{"id":"https://openalex.org/C49289754","wikidata":"https://www.wikidata.org/wiki/Q2267081","display_name":"Side channel attack","level":3,"score":0.6498878598213196},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.5650482177734375},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5339772701263428},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.5000855922698975},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.4947013556957245},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4891875088214874},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.4765208959579468},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4684610068798065},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.44276145100593567},{"id":"https://openalex.org/C2871975","wikidata":"https://www.wikidata.org/wiki/Q187466","display_name":"Processor register","level":4,"score":0.4389209449291229},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.43845996260643005},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.42053452134132385},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4179673194885254},{"id":"https://openalex.org/C178489894","wikidata":"https://www.wikidata.org/wiki/Q8789","display_name":"Cryptography","level":2,"score":0.3871396780014038},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.37868770956993103},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.30157214403152466},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2874528467655182},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.18725427985191345},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.1596682071685791},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.11930370330810547},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.11855319142341614},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3338906.3338913","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3338906.3338913","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":67,"referenced_works":["https://openalex.org/W116061528","https://openalex.org/W125899002","https://openalex.org/W130128522","https://openalex.org/W130371449","https://openalex.org/W150190951","https://openalex.org/W191000419","https://openalex.org/W587262091","https://openalex.org/W802019357","https://openalex.org/W1510418153","https://openalex.org/W1562542037","https://openalex.org/W1564536482","https://openalex.org/W1598102953","https://openalex.org/W1607006990","https://openalex.org/W1671718115","https://openalex.org/W1724890242","https://openalex.org/W1945000243","https://openalex.org/W1964281299","https://openalex.org/W1976955200","https://openalex.org/W2018790814","https://openalex.org/W2050680750","https://openalex.org/W2072550684","https://openalex.org/W2097395075","https://openalex.org/W2105114022","https://openalex.org/W2115595690","https://openalex.org/W2116207513","https://openalex.org/W2117290716","https://openalex.org/W2135064681","https://openalex.org/W2151562310","https://openalex.org/W2219812381","https://openalex.org/W2241259389","https://openalex.org/W2252439461","https://openalex.org/W2350778671","https://openalex.org/W2418260908","https://openalex.org/W2474056434","https://openalex.org/W2515614845","https://openalex.org/W2536698892","https://openalex.org/W2538823313","https://openalex.org/W2546922927","https://openalex.org/W2560526931","https://openalex.org/W2571958015","https://openalex.org/W2612816951","https://openalex.org/W2620701188","https://openalex.org/W2621165181","https://openalex.org/W2626217303","https://openalex.org/W2758227629","https://openalex.org/W2766853874","https://openalex.org/W2777682200","https://openalex.org/W2794455201","https://openalex.org/W2795180100","https://openalex.org/W2807705484","https://openalex.org/W2808504905","https://openalex.org/W2809301752","https://openalex.org/W2858117630","https://openalex.org/W2883707793","https://openalex.org/W2886207505","https://openalex.org/W2887610974","https://openalex.org/W2914982603","https://openalex.org/W2950456244","https://openalex.org/W2962722502","https://openalex.org/W2963047853","https://openalex.org/W2963804422","https://openalex.org/W2964177714","https://openalex.org/W3001659479","https://openalex.org/W4235184194","https://openalex.org/W4248889516","https://openalex.org/W4251521700","https://openalex.org/W4253355920"],"related_works":["https://openalex.org/W2269159438","https://openalex.org/W4312357863","https://openalex.org/W4233450076","https://openalex.org/W2155316957","https://openalex.org/W2907464940","https://openalex.org/W2156141263","https://openalex.org/W2016937272","https://openalex.org/W2741603978","https://openalex.org/W1513380625","https://openalex.org/W2137857636"],"abstract_inverted_index":{"The":[0],"code":[1,139,147],"generation":[2],"modules":[3],"inside":[4],"modern":[5],"compilers,":[6],"which":[7,56],"use":[8],"a":[9,17,36,50,73],"limited":[10],"number":[11,19],"of":[12,20],"CPU":[13,97],"registers":[14,98],"to":[15,43,64,86],"store":[16],"large":[18],"program":[21,37],"variables,":[22],"may":[23],"introduce":[24],"side-channel":[25],"leaks":[26],"even":[27],"in":[28,95,109,128],"software":[29,121],"equipped":[30],"with":[31],"state-of-the-art":[32,150],"countermeasures.":[33],"We":[34,102],"propose":[35],"analysis":[38,60],"and":[39,61,68,105,143],"transformation":[40],"based":[41],"method":[42,48,108,125],"eliminate":[44],"such":[45],"leaks.":[46],"Our":[47,117],"has":[49,72],"type-based":[51],"technique":[52,75],"for":[53,76,111],"detecting":[54],"leaks,":[55],"leverages":[57],"Datalog-based":[58],"declarative":[59],"domain-specific":[62],"optimizations":[63],"achieve":[65],"high":[66],"efficiency":[67],"accuracy.":[69],"It":[70],"also":[71],"mitigation":[74],"the":[77,82,112,124,130],"compiler's":[78],"backend,":[79],"more":[80,141],"specifically":[81],"register":[83],"allocation":[84],"modules,":[85],"ensure":[87],"that":[88,123],"leaky":[89],"intermediate":[90],"computation":[91],"results":[92],"are":[93],"stored":[94],"different":[96],"or":[99],"memory":[100],"locations.":[101],"have":[103],"implemented":[104],"evaluated":[106],"our":[107,137],"LLVM":[110],"x86":[113],"instruction":[114],"set":[115],"architecture.":[116],"experiments":[118],"on":[119],"cryptographic":[120],"show":[122],"is":[126,140],"effective":[127],"removing":[129],"side":[131],"channel":[132],"while":[133],"being":[134],"efficient,":[135],"i.e.,":[136],"mitigated":[138,148],"compact":[142],"runs":[144],"faster":[145],"than":[146],"using":[149],"techniques.":[151]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":6}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
