{"id":"https://openalex.org/W7117452751","doi":"https://doi.org/10.1145/3742875.3754680","title":"Efficient compilation and execution of synchronous programs via type-state programming","display_name":"Efficient compilation and execution of synchronous programs via type-state programming","publication_year":2025,"publication_date":"2025-09-28","ids":{"openalex":"https://openalex.org/W7117452751","doi":"https://doi.org/10.1145/3742875.3754680"},"language":null,"primary_location":{"id":"doi:10.1145/3742875.3754680","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3742875.3754680","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the International Symposium on Formal Methods and Models for System Design","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3742875.3754680","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5007782699","display_name":"Avinash Malik","orcid":"https://orcid.org/0000-0002-7524-8292"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":true,"raw_author_name":"Avinash Malik","raw_affiliation_strings":["University of Auckland, Auckland, New Zealand"],"raw_orcid":"https://orcid.org/0000-0002-7524-8292","affiliations":[{"raw_affiliation_string":"University of Auckland, Auckland, New Zealand","institution_ids":["https://openalex.org/I154130895"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5007782699"],"corresponding_institution_ids":["https://openalex.org/I154130895"],"apc_list":null,"apc_paid":null,"fwci":2.1546,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.91023136,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"62","last_page":"66"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.5634999871253967,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.5634999871253967,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.2029000073671341,"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.09319999814033508,"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/executable","display_name":"Executable","score":0.8091999888420105},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.5048999786376953},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.4869000017642975},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.4514999985694885},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.4065999984741211},{"id":"https://openalex.org/keywords/execution-time","display_name":"Execution time","score":0.399399995803833},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.3808000087738037},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.32330000400543213},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.3156999945640564}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8560000061988831},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.8091999888420105},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7003999948501587},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.5048999786376953},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.4869000017642975},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.4514999985694885},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.4065999984741211},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.40459999442100525},{"id":"https://openalex.org/C2989134064","wikidata":"https://www.wikidata.org/wiki/Q288510","display_name":"Execution time","level":2,"score":0.399399995803833},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.3808000087738037},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.32330000400543213},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.3156999945640564},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.30660000443458557},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.29089999198913574},{"id":"https://openalex.org/C95203288","wikidata":"https://www.wikidata.org/wiki/Q221682","display_name":"Semaphore","level":2,"score":0.28999999165534973},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2800999879837036},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.2759000062942505},{"id":"https://openalex.org/C3309909","wikidata":"https://www.wikidata.org/wiki/Q864155","display_name":"Binary decision diagram","level":2,"score":0.27559998631477356},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.2669000029563904},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.2648000121116638},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.2632000148296356},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.2619999945163727},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.26019999384880066},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.25699999928474426},{"id":"https://openalex.org/C41045048","wikidata":"https://www.wikidata.org/wiki/Q202843","display_name":"Linear programming","level":2,"score":0.25529998540878296},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.25529998540878296}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3742875.3754680","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3742875.3754680","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the International Symposium on Formal Methods and Models for System Design","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3742875.3754680","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3742875.3754680","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the International Symposium on Formal Methods and Models for System Design","raw_type":"proceedings-article"},"sustainable_development_goals":[{"score":0.45341798663139343,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W1878532202","https://openalex.org/W2049455231","https://openalex.org/W2100780524","https://openalex.org/W2123162020","https://openalex.org/W2123691799","https://openalex.org/W2125023624","https://openalex.org/W2125415493","https://openalex.org/W2127335869","https://openalex.org/W2166011785","https://openalex.org/W2787362676","https://openalex.org/W4363651373","https://openalex.org/W7117452751"],"related_works":[],"abstract_inverted_index":{"Synchronous":[0],"programs":[1,14],"are":[2,50,83],"used":[3],"to":[4,23],"implement":[5],"safety":[6],"critical":[7],"embedded":[8],"software.":[9],"Efficiently":[10],"compiling":[11],"imperative":[12],"synchronous":[13,40],"into":[15,57],"small":[16],"and":[17,73],"fast":[18],"executables":[19],"is":[20,55,77],"challenging,":[21],"due":[22],"state-space":[24],"explosion.":[25],"This":[26],"paper":[27],"introduces":[28],"a":[29,58],"novel":[30],"linear":[31],"time":[32,72],"compilation":[33,38,71],"technique":[34],"for":[35,46],"automata":[36],"based":[37,43],"of":[39],"programs.":[41],"Graph":[42],"rewrite":[44],"rules":[45],"kernel":[47],"programming":[48],"constructs":[49],"introduced.":[51],"The":[52],"compiled":[53],"program":[54,60],"encoded":[56],"type-state":[59],"using":[61],"template":[62],"meta-programming":[63],"in":[64],"C++.":[65],"Experimental":[66],"results":[67],"show":[68],"that":[69],"the":[70,80],"generated":[74],"binary":[75],"size":[76],"comparable,":[78],"while":[79],"execution":[81],"times":[82],"on":[84],"average":[85],"31\u201360%":[86],"faster":[87],"than":[88],"current":[89],"state-of-the-art":[90],"compilers.":[91]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2025-12-30T23:08:21.542490","created_date":"2025-12-29T00:00:00"}
