{"id":"https://openalex.org/W2028705369","doi":"https://doi.org/10.1145/2784731.2784758","title":"HLIO: mixing static and dynamic typing for information-flow control in Haskell","display_name":"HLIO: mixing static and dynamic typing for information-flow control in Haskell","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W2028705369","doi":"https://doi.org/10.1145/2784731.2784758","mag":"2028705369"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2784758","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784758","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},"type":"conference-paper","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/A5005787777","display_name":"Pablo Buiras","orcid":"https://orcid.org/0000-0002-4368-4196"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Pablo Buiras","raw_affiliation_strings":["Chalmers University of Technology, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Sweden","institution_ids":["https://openalex.org/I66862912"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Dimitrios Vytiniotis","raw_affiliation_strings":["Microsoft Research, UK","[Microsoft Research, UK]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"[Microsoft Research, UK]","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028178671","display_name":"Alejandro Russo","orcid":"https://orcid.org/0000-0002-4338-6316"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Alejandro Russo","raw_affiliation_strings":["Chalmers University of Technology, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Sweden","institution_ids":["https://openalex.org/I66862912"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":64,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"289","last_page":"301"},"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/T10478","display_name":"Diamond and Carbon-based Materials Research","score":0.9825999736785889,"subfield":{"id":"https://openalex.org/subfields/2505","display_name":"Materials Chemistry"},"field":{"id":"https://openalex.org/fields/25","display_name":"Materials 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.9789999723434448,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.930684506893158},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8671934604644775},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6998819708824158},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6076215505599976},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4766053557395935},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.43586212396621704},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.43223822116851807},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.2478855550289154}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.930684506893158},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8671934604644775},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6998819708824158},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6076215505599976},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4766053557395935},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.43586212396621704},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.43223822116851807},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.2478855550289154},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2784731.2784758","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784758","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:publications.lib.chalmers.se:223373","is_oa":false,"landing_page_url":"http://publications.lib.chalmers.se/publication/223373-hlio-mixing-static-and-dynamic-typing-for-information-flow-control-in-haskell","pdf_url":null,"source":{"id":"https://openalex.org/S4377196470","display_name":"Chalmers Publication Library (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text.Article.Conference.PeerReviewed"},{"id":"pmh:oai:research.chalmers.se:223373","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/223373","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},{"id":"pmh:oai:research.chalmers.se:525640","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/f0a5abe0-567b-46db-a4d5-3f2d74820637","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":49,"referenced_works":["https://openalex.org/W621612959","https://openalex.org/W1551531572","https://openalex.org/W1597778235","https://openalex.org/W1725973462","https://openalex.org/W1783004285","https://openalex.org/W1857247180","https://openalex.org/W1971373556","https://openalex.org/W2005525408","https://openalex.org/W2027822753","https://openalex.org/W2027961147","https://openalex.org/W2051748913","https://openalex.org/W2052047106","https://openalex.org/W2052973434","https://openalex.org/W2064138295","https://openalex.org/W2066195326","https://openalex.org/W2083228150","https://openalex.org/W2086234010","https://openalex.org/W2088923183","https://openalex.org/W2091335641","https://openalex.org/W2099510595","https://openalex.org/W2099878912","https://openalex.org/W2100233145","https://openalex.org/W2100759424","https://openalex.org/W2102473657","https://openalex.org/W2103428609","https://openalex.org/W2109772966","https://openalex.org/W2112474400","https://openalex.org/W2122049982","https://openalex.org/W2122167991","https://openalex.org/W2122643307","https://openalex.org/W2129777450","https://openalex.org/W2131242794","https://openalex.org/W2136624255","https://openalex.org/W2139093088","https://openalex.org/W2141210774","https://openalex.org/W2150174204","https://openalex.org/W2150998213","https://openalex.org/W2154564703","https://openalex.org/W2156285626","https://openalex.org/W2162755110","https://openalex.org/W2166542433","https://openalex.org/W2296133386","https://openalex.org/W2796564118","https://openalex.org/W2997271062","https://openalex.org/W3137596000","https://openalex.org/W4229717394","https://openalex.org/W4243437858","https://openalex.org/W6637861612","https://openalex.org/W6671957770"],"related_works":["https://openalex.org/W2801835562","https://openalex.org/W1530680153","https://openalex.org/W2120421136","https://openalex.org/W2889297400","https://openalex.org/W156668154","https://openalex.org/W4384302888","https://openalex.org/W141487401","https://openalex.org/W2573637329","https://openalex.org/W2111825754","https://openalex.org/W2135849267"],"abstract_inverted_index":{"Information-Flow":[0],"Control":[1],"(IFC)":[2],"is":[3,19,156],"a":[4,43,52,125,168],"well-established":[5],"approach":[6],"for":[7,128,160,170],"allowing":[8],"untrusted":[9],"code":[10],"to":[11,71,80],"manipulate":[12],"sensitive":[13],"data":[14,57],"without":[15],"disclosing":[16],"it.":[17],"IFC":[18,78,130,148],"typically":[20],"enforced":[21],"via":[22,29],"type":[23,173],"systems":[24,40],"and":[25,110,136,144,166],"static":[26,88],"analyses":[27],"or":[28],"dynamic":[30,45],"execution":[31],"monitors.":[32],"The":[33],"LIO":[34],"Haskell":[35,122],"library,":[36],"originating":[37],"in":[38,83,121,175],"operating":[39],"research,":[41],"implements":[42],"purely":[44],"monitor":[46],"of":[47,51,76,92,96,112],"the":[48,74,90,108],"sensitivity":[49,58],"level":[50],"computation,":[53],"particularly":[54],"suitable":[55],"when":[56],"levels":[59],"are":[60],"only":[61],"known":[62],"at":[63],"runtime.":[64],"In":[65],"this":[66],"paper,":[67],"we":[68],"show":[69,145],"how":[70,146],"give":[72],"programmers":[73],"flexibility":[75],"deferring":[77,129,161],"checks":[79,131],"runtime":[81,93],"(as":[82],"LIO),":[84,117],"while":[85],"also":[86],"providing":[87],"guarantees---and":[89],"absence":[91],"checks---for":[94],"parts":[95],"their":[97],"programs":[98],"that":[99,123],"can":[100,150],"be":[101,151],"statically":[102],"verified":[103],"(unlike":[104],"LIO).":[105],"We":[106,139],"present":[107],"design":[109],"implementation":[111],"our":[113,154,158],"approach,":[114],"HLIO":[115],"(Hybrid":[116],"as":[118],"an":[119],"embedding":[120],"uses":[124],"novel":[126],"technique":[127,159],"based":[132],"on":[133],"singleton":[134],"types":[135],"constraint":[137],"polymorphism.":[138],"formalize":[140],"HLIO,":[141],"prove":[142],"non-interference,":[143],"interesting":[147],"examples":[149],"programmed.":[152],"Although":[153],"motivation":[155],"IFC,":[157],"constraints":[162],"goes":[163],"well":[164],"beyond":[165],"offers":[167],"methodology":[169],"programmer-controlled":[171],"hybrid":[172],"checking":[174],"Haskell.":[176]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":15},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
