{"id":"https://openalex.org/W4403490766","doi":"https://doi.org/10.1145/3687997.3695639","title":"The Design of a Self-Compiling C Transpiler Targeting POSIX Shell","display_name":"The Design of a Self-Compiling C Transpiler Targeting POSIX Shell","publication_year":2024,"publication_date":"2024-10-17","ids":{"openalex":"https://openalex.org/W4403490766","doi":"https://doi.org/10.1145/3687997.3695639"},"language":"en","primary_location":{"id":"doi:10.1145/3687997.3695639","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3687997.3695639","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},"type":"article","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/A5040360166","display_name":"Laurent Huberdeau","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Laurent Huberdeau","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5114303078","display_name":"Cassandre Hamel","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Cassandre Hamel","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049966337","display_name":"Stefan Monnier","orcid":"https://orcid.org/0000-0001-7597-5273"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Stefan Monnier","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5032970376","display_name":"Marc Feeley","orcid":"https://orcid.org/0009-0005-5237-8712"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Marc Feeley","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al, Montr\u00e9al, Canada","institution_ids":["https://openalex.org/I70931966"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5040360166"],"corresponding_institution_ids":["https://openalex.org/I70931966"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.16729711,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"70","last_page":"83"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12391","display_name":"Artificial Immune Systems Applications","score":0.9951000213623047,"subfield":{"id":"https://openalex.org/subfields/2204","display_name":"Biomedical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12391","display_name":"Artificial Immune Systems Applications","score":0.9951000213623047,"subfield":{"id":"https://openalex.org/subfields/2204","display_name":"Biomedical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9632999897003174,"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/T11975","display_name":"Evolutionary Algorithms and Applications","score":0.9426000118255615,"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/posix","display_name":"POSIX","score":0.9514153003692627},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5870378017425537},{"id":"https://openalex.org/keywords/posix-threads","display_name":"POSIX Threads","score":0.5308030247688293},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2873811721801758}],"concepts":[{"id":"https://openalex.org/C532756234","wikidata":"https://www.wikidata.org/wiki/Q14658","display_name":"POSIX","level":2,"score":0.9514153003692627},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5870378017425537},{"id":"https://openalex.org/C41138395","wikidata":"https://www.wikidata.org/wiki/Q928112","display_name":"POSIX Threads","level":3,"score":0.5308030247688293},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2873811721801758},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3687997.3695639","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3687997.3695639","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":4,"referenced_works":["https://openalex.org/W2012210398","https://openalex.org/W2111978054","https://openalex.org/W2170267084","https://openalex.org/W6893048973"],"related_works":["https://openalex.org/W4230580429","https://openalex.org/W1901085887","https://openalex.org/W2556689029","https://openalex.org/W614734992","https://openalex.org/W4243833290","https://openalex.org/W2049324807","https://openalex.org/W4243850526","https://openalex.org/W2397962676","https://openalex.org/W2104952251","https://openalex.org/W772989759"],"abstract_inverted_index":{"Software":[0],"supply":[1,42],"chain":[2,43,151],"attacks":[3,44],"are":[4,38],"increasingly":[5,156],"frequent":[6],"and":[7,142,198,224,230],"can":[8,22],"be":[9,23],"hard":[10],"to":[11,41,93,113,160,176,211],"guard":[12],"against.":[13],"Reproducible":[14],"builds":[15,53,153],"ensure":[16],"that":[17,100,123,154,171],"generated":[18,231],"artifacts":[19],"(executable":[20],"programs)":[21],"reliably":[24],"created":[25],"from":[26,195,222],"their":[27],"source":[28,200],"code.":[29,104,232],"However,":[30],"the":[31,35,55,68,71,77,83,106,127,143,147,161,166,183,204,215,225,228],"tools":[32],"used":[33],"by":[34],"build":[36,85,177,191],"process":[37],"also":[39,50],"vulnerable":[40],"so":[45],"a":[46,91,115,120,130,150,173,189,196],"complete":[47,190],"solution":[48],"must":[49],"include":[51],"reproducible":[52,84],"for":[54,82,149],"various":[56],"compilers":[57,158],"used.":[58],"With":[59],"this":[60],"problem":[61],"as":[62,76,135,146],"our":[63,213],"main":[64],"motivation":[65],"we":[66],"explore":[67],"use":[69],"of":[70,129,152,165,206,217,227],"widely":[72],"available":[73],"POSIX":[74,94,131,219],"shell":[75,95,103,117,133,144,197,220],"only":[78,125,194],"trusted":[79],"pre-built":[80],"binary":[81],"process.":[86],"We":[87,202],"have":[88],"developed":[89],"pnut,":[90],"C":[92,99,121,207],"transpiler":[96],"written":[97],"in":[98,182],"generates":[101],"human-readable":[102,116,199],"Because":[105],"compiler":[107,122,229],"is":[108,111,172,188],"self-applicable,":[109],"it":[110],"possible":[112],"distribute":[114],"script":[118],"implementing":[119],"depends":[124],"on":[126],"existence":[128],"compliant":[132],"such":[134],"bash,":[136],"ksh,":[137],"zsh,":[138],"etc.":[139],"Together,":[140],"pnut":[141],"serve":[145],"seed":[148],"create":[155],"capable":[157],"up":[159],"most":[162],"recent":[163],"version":[164],"GNU":[167],"Compiler":[168],"Collection":[169],"(GCC)":[170],"convenient":[174],"basis":[175],"any":[178],"other":[179],"required":[180],"tool":[181],"toolchain.":[184],"The":[185],"end":[186],"result":[187],"toolchain":[192],"built":[193],"files.":[201],"discuss":[203],"level":[205],"language":[208],"support":[209],"needed":[210],"achieve":[212],"goal,":[214],"generation":[216],"portable":[218],"code":[221],"C,":[223],"performance":[226]},"counts_by_year":[],"updated_date":"2025-12-27T23:08:20.325037","created_date":"2025-10-10T00:00:00"}
