{"id":"https://openalex.org/W2903261599","doi":"https://doi.org/10.1145/3274694.3274705","title":"Type-After-Type","display_name":"Type-After-Type","publication_year":2018,"publication_date":"2018-12-03","ids":{"openalex":"https://openalex.org/W2903261599","doi":"https://doi.org/10.1145/3274694.3274705","mag":"2903261599"},"language":"en","primary_location":{"id":"doi:10.1145/3274694.3274705","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3274694.3274705","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th Annual Computer Security Applications Conference","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://research.vu.nl/en/publications/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084448782","display_name":"Erik van der Kouwe","orcid":"https://orcid.org/0000-0002-0312-9913"},"institutions":[{"id":"https://openalex.org/I121797337","display_name":"Leiden University","ror":"https://ror.org/027bh9e22","country_code":"NL","type":"education","lineage":["https://openalex.org/I121797337"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Erik van der Kouwe","raw_affiliation_strings":["Leiden University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Leiden University","institution_ids":["https://openalex.org/I121797337"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061856167","display_name":"Taddeus Kroes","orcid":"https://orcid.org/0000-0002-8060-2989"},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Taddeus Kroes","raw_affiliation_strings":["Vrije Universiteit Amsterdam"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Vrije Universiteit Amsterdam","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081989987","display_name":"Chris Ouwehand","orcid":null},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Chris Ouwehand","raw_affiliation_strings":["Vrije Universiteit Amsterdam"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Vrije Universiteit Amsterdam","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029566823","display_name":"Herbert Bos","orcid":"https://orcid.org/0000-0001-6179-1510"},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Herbert Bos","raw_affiliation_strings":["Vrije Universiteit Amsterdam"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Vrije Universiteit Amsterdam","institution_ids":["https://openalex.org/I865915315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083941826","display_name":"Cristiano Giuffrida","orcid":"https://orcid.org/0000-0002-8329-5929"},"institutions":[{"id":"https://openalex.org/I865915315","display_name":"Vrije Universiteit Amsterdam","ror":"https://ror.org/008xxew50","country_code":"NL","type":"education","lineage":["https://openalex.org/I865915315"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Cristiano Giuffrida","raw_affiliation_strings":["Vrije Universiteit Amsterdam"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Vrije Universiteit Amsterdam","institution_ids":["https://openalex.org/I865915315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5084448782"],"corresponding_institution_ids":["https://openalex.org/I121797337"],"apc_list":null,"apc_paid":null,"fwci":0.5075,"has_fulltext":false,"cited_by_count":18,"citation_normalized_percentile":{"value":0.75058918,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"17","last_page":"27"},"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.996999979019165,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9896000027656555,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/heap","display_name":"Heap (data structure)","score":0.8276007175445557},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7988048791885376},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.7726861238479614},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.703972339630127},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.6506838202476501},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.6197115778923035},{"id":"https://openalex.org/keywords/call-stack","display_name":"Call stack","score":0.6014140844345093},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.4944484233856201},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.49321383237838745},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.48274654150009155},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.47840580344200134},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.47595760226249695},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.44455817341804504},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.43090540170669556},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.40231025218963623},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3680533766746521},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3197406530380249},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.10980397462844849},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.08045190572738647}],"concepts":[{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.8276007175445557},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7988048791885376},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.7726861238479614},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.703972339630127},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.6506838202476501},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.6197115778923035},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.6014140844345093},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.4944484233856201},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.49321383237838745},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.48274654150009155},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.47840580344200134},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.47595760226249695},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.44455817341804504},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.43090540170669556},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.40231025218963623},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3680533766746521},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3197406530380249},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.10980397462844849},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.08045190572738647},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3274694.3274705","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3274694.3274705","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th Annual Computer Security Applications Conference","raw_type":"proceedings-article"},{"id":"pmh:oai:research.vu.nl:openaire/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","is_oa":true,"landing_page_url":"https://research.vu.nl/en/publications/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","pdf_url":null,"source":{"id":"https://openalex.org/S4306401107","display_name":"VU Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I865915315","host_organization_name":"Vrije Universiteit Amsterdam","host_organization_lineage":["https://openalex.org/I865915315"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Van Der Kouwe, E, Kroes, T, Ouwehand, C, Bos, H & Giuffrida, C 2018, Type-after-type: Practical and complete type-safe memory reuse. in ACSAC '18 : Proceedings of the 34th Annual Computer Security Applications Conference . Association for Computing Machinery, pp. 17-27, 34th Annual Computer Security Applications Conference, ACSAC 2018, San Juan, United States, 3/12/18. https://doi.org/10.1145/3274694.3274705","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:research.vu.nl:openaire_cris_publications/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","is_oa":true,"landing_page_url":"https://hdl.handle.net/1871.1/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","pdf_url":null,"source":{"id":"https://openalex.org/S4306401107","display_name":"VU Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I865915315","host_organization_name":"Vrije Universiteit Amsterdam","host_organization_lineage":["https://openalex.org/I865915315"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Van Der Kouwe, E, Kroes, T, Ouwehand, C, Bos, H & Giuffrida, C 2018, Type-after-type: Practical and complete type-safe memory reuse. in ACSAC '18 : Proceedings of the 34th Annual Computer Security Applications Conference . Association for Computing Machinery, pp. 17-27, 34th Annual Computer Security Applications Conference, ACSAC 2018, San Juan, United States, 3/12/18. https://doi.org/10.1145/3274694.3274705","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:research.vu.nl:openaire/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","is_oa":true,"landing_page_url":"https://research.vu.nl/en/publications/1b6ac8d3-d155-4a24-854d-8fd6355aaf18","pdf_url":null,"source":{"id":"https://openalex.org/S4306401107","display_name":"VU Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I865915315","host_organization_name":"Vrije Universiteit Amsterdam","host_organization_lineage":["https://openalex.org/I865915315"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Van Der Kouwe, E, Kroes, T, Ouwehand, C, Bos, H & Giuffrida, C 2018, Type-after-type: Practical and complete type-safe memory reuse. in ACSAC '18 : Proceedings of the 34th Annual Computer Security Applications Conference . Association for Computing Machinery, pp. 17-27, 34th Annual Computer Security Applications Conference, ACSAC 2018, San Juan, United States, 3/12/18. https://doi.org/10.1145/3274694.3274705","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1646036364","display_name":null,"funder_award_id":"1138109","funder_id":"https://openalex.org/F4320307791","funder_display_name":"Cisco Systems"},{"id":"https://openalex.org/G2229678078","display_name":null,"funder_award_id":"639.021.753","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G312280494","display_name":null,"funder_award_id":"639.023.309","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G4504108201","display_name":null,"funder_award_id":"N00014-17-1","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G6702378207","display_name":null,"funder_award_id":"N00014-17-1-2782","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G7788277423","display_name":"REactively Defending against Advanced Cybersecurity Threats","funder_award_id":"786669","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G7880295628","display_name":null,"funder_award_id":"NWO 639.023.309","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G8876996369","display_name":null,"funder_award_id":"N00014","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"}],"funders":[{"id":"https://openalex.org/F4320307791","display_name":"Cisco Systems","ror":"https://ror.org/03yt1ez60"},{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"},{"id":"https://openalex.org/F4320337345","display_name":"Office of Naval Research","ror":"https://ror.org/00rk2pe57"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":35,"referenced_works":["https://openalex.org/W1825457006","https://openalex.org/W1826158585","https://openalex.org/W1878544538","https://openalex.org/W1973326708","https://openalex.org/W1984471991","https://openalex.org/W1997394198","https://openalex.org/W2027137911","https://openalex.org/W2036853599","https://openalex.org/W2063453797","https://openalex.org/W2065540707","https://openalex.org/W2072102701","https://openalex.org/W2096267728","https://openalex.org/W2098806455","https://openalex.org/W2117703831","https://openalex.org/W2122757982","https://openalex.org/W2124360577","https://openalex.org/W2136938453","https://openalex.org/W2153185479","https://openalex.org/W2153530968","https://openalex.org/W2154795299","https://openalex.org/W2204863282","https://openalex.org/W2487602542","https://openalex.org/W2538805569","https://openalex.org/W2560817611","https://openalex.org/W2606752733","https://openalex.org/W2607063282","https://openalex.org/W2612138144","https://openalex.org/W2612883158","https://openalex.org/W2613274303","https://openalex.org/W2735704859","https://openalex.org/W2798642344","https://openalex.org/W4237187719","https://openalex.org/W4246438243","https://openalex.org/W4250981365","https://openalex.org/W4256532365"],"related_works":["https://openalex.org/W2572740268","https://openalex.org/W2809457911","https://openalex.org/W16371115","https://openalex.org/W3021574281","https://openalex.org/W4234438293","https://openalex.org/W2138369269","https://openalex.org/W1501346788","https://openalex.org/W2093735156","https://openalex.org/W1826158585","https://openalex.org/W2903261599"],"abstract_inverted_index":{"Temporal":[0],"memory":[1,47,56,82,94,108,159,173],"errors,":[2],"such":[3],"as":[4],"use-after-free":[5],"bugs,":[6],"are":[7,125,138],"increasingly":[8],"popular":[9],"among":[10],"attackers":[11],"and":[12,69,72,140,161,171],"their":[13,121,129],"exploitation":[14],"is":[15,49,131],"hard":[16],"to":[17,37,62,120],"stop":[18],"efficiently":[19,53,105],"using":[20],"current":[21],"techniques.":[22],"We":[23],"present":[24],"a":[25,143,154,166,172],"new":[26],"design,":[27],"called":[28],"Type-After-Type,":[29],"which":[30,135],"builds":[31],"on":[32,116,142,162],"abstractions":[33],"in":[34,134],"production":[35],"allocators":[36],"provide":[38],"complete":[39],"temporal":[40,55,158],"type":[41,51],"safety":[42],"for":[43,98,110],"C/C++":[44],"programs---ensuring":[45],"that":[46,79,151],"reuse":[48,81,109],"always":[50],"safe---and":[52],"hinder":[54],"attacks.":[57],"Type-After-Type":[58,91,104,152],"uses":[59],"static":[60],"analysis":[61],"determine":[63],"the":[64,89,102,111],"types":[65],"of":[66,156,169,175],"all":[67],"heap":[68],"stack":[70],"allocations,":[71],"replaces":[73],"regular":[74],"allocations":[75,78],"with":[76],"typed":[77],"never":[80],"previously":[83],"used":[84],"by":[85],"other":[86],"types.":[87],"On":[88],"heap,":[90],"splits":[92],"available":[93],"into":[95],"separate":[96,117],"pools":[97],"each":[99],"type.":[100],"For":[101],"stack,":[103],"implements":[106],"type-safe":[107],"first":[112],"time,":[113],"pushing":[114],"variables":[115],"stacks":[118],"according":[119],"types,":[122],"unless":[123],"they":[124,137],"provably":[126],"safe":[127],"(e.g.,":[128],"address":[130],"not":[132],"taken),":[133],"case":[136],"zero-initialized":[139],"kept":[141],"special":[144],"stack.":[145],"In":[146],"our":[147],"evaluation,":[148],"we":[149],"show":[150],"stops":[153],"variety":[155],"real-world":[157],"attacks":[160],"SPEC":[163],"CPU2006":[164],"incurs":[165],"performance":[167],"overhead":[168,174],"4.3%":[170],"17.4%":[176],"(geomean).":[177]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":9},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":1}],"updated_date":"2026-05-21T09:19:25.381259","created_date":"2018-12-11T00:00:00"}
