{"id":"https://openalex.org/W2912060579","doi":"https://doi.org/10.1145/3302516.3307346","title":"Low-cost deterministic C++ exceptions for embedded systems","display_name":"Low-cost deterministic C++ exceptions for embedded systems","publication_year":2019,"publication_date":"2019-02-14","ids":{"openalex":"https://openalex.org/W2912060579","doi":"https://doi.org/10.1145/3302516.3307346","mag":"2912060579"},"language":"en","primary_location":{"id":"doi:10.1145/3302516.3307346","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3302516.3307346","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th International Conference on Compiler Construction","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/24323/1/Renwick_2019_PICCC_Low_cost_deterministic_C_exceptions_for_embedded_systems_AAM.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5112246471","display_name":"James Renwick","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"James Renwick","raw_affiliation_strings":["University of Edinburgh, UK"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5054308553","display_name":"Tom Spink","orcid":"https://orcid.org/0000-0002-7662-3146"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Tom Spink","raw_affiliation_strings":["University of Edinburgh, UK"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5070407969","display_name":"Bj\u00f6rn Franke","orcid":"https://orcid.org/0000-0002-1219-8523"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Bj\u00f6rn Franke","raw_affiliation_strings":["University of Edinburgh, UK"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5112246471"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":0.7223,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.65692669,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"76","last_page":"86"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9979000091552734,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9979000091552734,"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"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9739999771118164,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T11424","display_name":"Security and Verification in Computing","score":0.972000002861023,"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.8116012811660767},{"id":"https://openalex.org/keywords/exception-handling","display_name":"Exception handling","score":0.6288560032844543},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.585456907749176},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.5231027603149414},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.42956724762916565},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.4196145236492157},{"id":"https://openalex.org/keywords/vendor","display_name":"Vendor","score":0.4130808115005493},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3619876503944397},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.35736119747161865},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3204617202281952},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.19921869039535522}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8116012811660767},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.6288560032844543},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.585456907749176},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.5231027603149414},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.42956724762916565},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.4196145236492157},{"id":"https://openalex.org/C2777338717","wikidata":"https://www.wikidata.org/wiki/Q1762621","display_name":"Vendor","level":2,"score":0.4130808115005493},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3619876503944397},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.35736119747161865},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3204617202281952},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.19921869039535522},{"id":"https://openalex.org/C144133560","wikidata":"https://www.wikidata.org/wiki/Q4830453","display_name":"Business","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C162853370","wikidata":"https://www.wikidata.org/wiki/Q39809","display_name":"Marketing","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3302516.3307346","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3302516.3307346","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th International Conference on Compiler Construction","raw_type":"proceedings-article"},{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/24323","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/24323","pdf_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/24323/1/Renwick_2019_PICCC_Low_cost_deterministic_C_exceptions_for_embedded_systems_AAM.pdf","source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference item"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/2cfc59d5-fa95-45e0-83b2-46e51098cf1f","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/2cfc59d5-fa95-45e0-83b2-46e51098cf1f","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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":"Renwick, J, Spink, T & Franke, B 2019, Low-Cost Deterministic C++ Exceptions for Embedded Systems. in Proceedings of the 28th International Conference on Compiler Construction. Washington, DC, USA, pp. 76-86, 28th International Conference on Compiler Construction, Washington D.C., District of Columbia, United States, 16/02/19. https://doi.org/10.1145/3302516.3307346","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/2cfc59d5-fa95-45e0-83b2-46e51098cf1f","is_oa":false,"landing_page_url":"https://dl.acm.org/citation.cfm?doid=3302516.3307346","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:research-repository.st-andrews.ac.uk:10023/24323","is_oa":true,"landing_page_url":"https://hdl.handle.net/10023/24323","pdf_url":"https://research-repository.st-andrews.ac.uk/bitstream/10023/24323/1/Renwick_2019_PICCC_Low_cost_deterministic_C_exceptions_for_embedded_systems_AAM.pdf","source":{"id":"https://openalex.org/S4306400230","display_name":"St Andrews Research Repository (St Andrews Research Repository)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I16835326","host_organization_name":"University of St Andrews","host_organization_lineage":["https://openalex.org/I16835326"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Conference item"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":false},"content_urls":{"pdf":"https://content.openalex.org/works/W2912060579.pdf"},"referenced_works_count":13,"referenced_works":["https://openalex.org/W85593233","https://openalex.org/W113798897","https://openalex.org/W1492923158","https://openalex.org/W1545615987","https://openalex.org/W1566103906","https://openalex.org/W1595535866","https://openalex.org/W2000083322","https://openalex.org/W2035276038","https://openalex.org/W2071136304","https://openalex.org/W2531894595","https://openalex.org/W2620981540","https://openalex.org/W4229975109","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2478661203","https://openalex.org/W2390366073","https://openalex.org/W2004830053","https://openalex.org/W3008115697","https://openalex.org/W4237792610","https://openalex.org/W2094044241","https://openalex.org/W4384345644","https://openalex.org/W2358619169","https://openalex.org/W3206552155","https://openalex.org/W2912060579"],"abstract_inverted_index":{"The":[0],"C++":[1,24,47,74,78,94,132],"programming":[2],"language":[3,14],"offers":[4],"a":[5,49,90,114,130,154],"strong":[6],"exception":[7,82,133],"mechanism":[8],"for":[9,40,53,104,158],"error":[10],"handling":[11,83,134],"at":[12,28],"the":[13,41,71,159],"level,":[15],"improving":[16],"code":[17,33,57,144],"readability,":[18],"safety,":[19],"and":[20,37,59,100,120,139,151],"maintainability.":[21],"However,":[22],"current":[23],"implementations":[25],"are":[26,62],"targeted":[27],"general-purpose":[29],"systems,":[30],"often":[31,63],"sacrificing":[32],"size,":[34],"memory":[35,118,140],"usage,":[36,141],"resource":[38,60],"determinism":[39,61],"sake":[42],"of":[43,73,93,162],"performance.":[44],"This":[45],"makes":[46],"exceptions":[48,95],"particularly":[50],"undesirable":[51],"choice":[52],"embedded":[54,66,77,105],"applications":[55],"where":[56],"size":[58,145],"paramount.":[64],"Consequently,":[65],"coding":[67],"guidelines":[68],"either":[69],"forbid":[70],"use":[72,103],"exceptions,":[75],"or":[76],"tool":[79],"chains":[80],"omit":[81],"altogether.":[84],"In":[85,125],"this":[86],"paper,":[87],"we":[88,128],"develop":[89],"novel":[91],"implementation":[92],"that":[96],"eliminates":[97],"these":[98],"issues,":[99],"enables":[101],"their":[102],"systems.":[106],"We":[107],"combine":[108],"existing":[109],"stack":[110],"unwinding":[111],"techniques":[112],"with":[113],"new":[115],"approach":[116],"to":[117,149],"management":[119],"run-time":[121],"type":[122],"information":[123],"(RTTI).":[124],"doing":[126],"so":[127],"create":[129],"compliant":[131],"implementation,":[135],"providing":[136],"bounded":[137],"runtime":[138,156],"while":[142],"reducing":[143],"requirements":[146],"by":[147],"up":[148],"82%,":[150],"incurring":[152],"only":[153],"minimal":[155],"overhead":[157],"common":[160],"case":[161],"no":[163],"exceptions.":[164]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
