{"id":"https://openalex.org/W4387686431","doi":"https://doi.org/10.1145/3610612.3610618","title":"Type-directed Program Transformation for Constant-Time Enforcement","display_name":"Type-directed Program Transformation for Constant-Time Enforcement","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387686431","doi":"https://doi.org/10.1145/3610612.3610618"},"language":"en","primary_location":{"id":"doi:10.1145/3610612.3610618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3610612.3610618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://inria.hal.science/hal-04268830v1/file/ppdp2023-6.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5033891456","display_name":"Gautier Raimondi","orcid":"https://orcid.org/0009-0006-7136-8592"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Gautier Raimondi","raw_affiliation_strings":["Inria, Univ. Rennes, CNRS, IRISA, France"],"raw_orcid":"https://orcid.org/0009-0006-7136-8592","affiliations":[{"raw_affiliation_string":"Inria, Univ. Rennes, CNRS, IRISA, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I2802519937","https://openalex.org/I56067802","https://openalex.org/I1294671590"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5035021429","display_name":"Fr\u00e9d\u00e9ric Besson","orcid":"https://orcid.org/0000-0001-6815-0652"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Fr\u00e9d\u00e9ric Besson","raw_affiliation_strings":["Inria, Univ. Rennes, CNRS, IRISA, France"],"raw_orcid":"https://orcid.org/0000-0001-6815-0652","affiliations":[{"raw_affiliation_string":"Inria, Univ. Rennes, CNRS, IRISA, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I2802519937","https://openalex.org/I56067802","https://openalex.org/I1294671590"]}]},{"author_position":"last","author":{"id":null,"display_name":"Thomas Jensen","orcid":"https://orcid.org/0000-0002-4064-7170"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]},{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["DK","FR"],"is_corresponding":false,"raw_author_name":"Thomas Jensen","raw_affiliation_strings":["Inria, Univ. Rennes, CNRS, IRISA, France and University of Copenhagen, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-4064-7170","affiliations":[{"raw_affiliation_string":"Inria, Univ. Rennes, CNRS, IRISA, France and University of Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696","https://openalex.org/I2802519937","https://openalex.org/I56067802","https://openalex.org/I1294671590"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.13530917,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"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.9943000078201294,"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/T11005","display_name":"Radiation Effects in Electronics","score":0.9743000268936157,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"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.7665120363235474},{"id":"https://openalex.org/keywords/constant","display_name":"Constant (computer programming)","score":0.6902582049369812},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6590319275856018},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6357429027557373},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.6070666313171387},{"id":"https://openalex.org/keywords/information-flow","display_name":"Information flow","score":0.49298498034477234},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4813616871833801},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4787037670612335},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.4610878825187683},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.4594131410121918},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.4546140432357788},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3667706847190857},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.1472839117050171}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7665120363235474},{"id":"https://openalex.org/C2777027219","wikidata":"https://www.wikidata.org/wiki/Q1284190","display_name":"Constant (computer programming)","level":2,"score":0.6902582049369812},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6590319275856018},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6357429027557373},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.6070666313171387},{"id":"https://openalex.org/C2779136372","wikidata":"https://www.wikidata.org/wiki/Q10283002","display_name":"Information flow","level":2,"score":0.49298498034477234},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4813616871833801},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4787037670612335},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.4610878825187683},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.4594131410121918},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.4546140432357788},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3667706847190857},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.1472839117050171},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"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/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3610612.3610618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3610612.3610618","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:HAL:hal-04268830v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-04268830","pdf_url":"https://inria.hal.science/hal-04268830v1/file/ppdp2023-6.pdf","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"PPDP 2023 - International Symposium on Principles and Practice of Declarative Programming, Oct 2023, Lisboa, Portugal. pp.1-13, &#x27E8;10.1145/3610612.3610618&#x27E9;","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/6fcc3185-4ab3-445c-ab6b-d178ff844940","is_oa":false,"landing_page_url":"https://researchprofiles.ku.dk/da/publications/6fcc3185-4ab3-445c-ab6b-d178ff844940","pdf_url":null,"source":{"id":"https://openalex.org/S4306401983","display_name":"Research at the University of Copenhagen (University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I124055696","host_organization_name":"University of Copenhagen","host_organization_lineage":["https://openalex.org/I124055696"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Raimondi , G , Jensen , T & Besson , F 2023 , Type-directed Program Transformation for Constant-Time Enforcement . in PPDP '23: Proceedings of the 25th International Symposium on Principles and Practice of Declarative Programming . , 6 , Association for Computing Machinery , pp. 1-13 , 25th International Symposium on Principles and Practice of Declarative Programming - PPDP 2023 , Lisboa , Portugal , 22/10/2023 . https://doi.org/10.1145/3610612.3610618","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:HAL:hal-04268830v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-04268830","pdf_url":"https://inria.hal.science/hal-04268830v1/file/ppdp2023-6.pdf","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"PPDP 2023 - International Symposium on Principles and Practice of Declarative Programming, Oct 2023, Lisboa, Portugal. pp.1-13, &#x27E8;10.1145/3610612.3610618&#x27E9;","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.800000011920929}],"awards":[{"id":"https://openalex.org/G8998175856","display_name":"Secure Compilation of Cryptographic primitives","funder_award_id":"ANR-18-CE25-0014","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387686431.pdf","grobid_xml":"https://content.openalex.org/works/W4387686431.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W18814837","https://openalex.org/W1531820677","https://openalex.org/W1613874182","https://openalex.org/W1997775274","https://openalex.org/W2067392744","https://openalex.org/W2071929572","https://openalex.org/W2130427425","https://openalex.org/W2140311411","https://openalex.org/W2267469130","https://openalex.org/W2296151933","https://openalex.org/W2604664164","https://openalex.org/W2751455878","https://openalex.org/W2766052299","https://openalex.org/W2766545755","https://openalex.org/W2767162229","https://openalex.org/W2772681170","https://openalex.org/W2886207505","https://openalex.org/W2900188961","https://openalex.org/W2955155286","https://openalex.org/W2963047853","https://openalex.org/W2995664728","https://openalex.org/W2997271062","https://openalex.org/W3008196554","https://openalex.org/W3036557299","https://openalex.org/W3082507454","https://openalex.org/W3114864185","https://openalex.org/W4237041209","https://openalex.org/W4287600865"],"related_works":["https://openalex.org/W2163072411","https://openalex.org/W1575986870","https://openalex.org/W4287876714","https://openalex.org/W2095925360","https://openalex.org/W1549956274","https://openalex.org/W4246377515","https://openalex.org/W1873658816","https://openalex.org/W2065789159","https://openalex.org/W3102965473","https://openalex.org/W2105897359"],"abstract_inverted_index":{"Constant-time":[0],"is":[1,70,75],"a":[2,11,23,45,87],"programming":[3],"discipline":[4,18],"which":[5,34,51],"protects":[6],"security":[7],"sensitive":[8],"code":[9],"against":[10,102],"wide":[12],"class":[13],"of":[14,67],"timing":[15],"attacks.":[16],"This":[17],"can":[19,82],"be":[20,83],"formalised":[21],"as":[22],"non-interference":[24],"property":[25],"and":[26,37,100],"enforced":[27],"by":[28],"an":[29],"information":[30,47],"flow":[31,48],"type":[32,49,80],"system":[33,50,81],"prevents":[35],"branching":[36],"memory":[38],"accesses":[39],"over":[40],"secret":[41],"data.":[42],"We":[43],"propose":[44],"relaxed":[46,79],"tracks":[52],"indirect":[53],"flows":[54],"but":[55],"only":[56],"rejects":[57],"programs":[58],"leaking":[59],"secrets":[60],"through":[61],"direct":[62],"flows.":[63],"The":[64],"main":[65],"result":[66],"this":[68,78],"paper":[69],"that":[71,74],"any":[72],"program":[73],"accepted":[76],"using":[77],"transformed":[84],"automatically":[85],"into":[86],"semantically":[88],"equivalent":[89],"constant-time":[90],"program.":[91],"Our":[92],"algorithms":[93],"are":[94],"implemented":[95],"in":[96],"the":[97],"jasmin":[98],"compiler":[99],"validated":[101],"synthetic":[103],"programs.":[104]},"counts_by_year":[],"updated_date":"2026-07-02T09:51:11.867554","created_date":"2023-10-17T00:00:00"}
