{"id":"https://openalex.org/W2113489899","doi":"https://doi.org/10.1145/2254064.2254116","title":"Automated synthesis of symbolic instruction encodings from I/O samples","display_name":"Automated synthesis of symbolic instruction encodings from I/O samples","publication_year":2012,"publication_date":"2012-06-11","ids":{"openalex":"https://openalex.org/W2113489899","doi":"https://doi.org/10.1145/2254064.2254116","mag":"2113489899"},"language":"en","primary_location":{"id":"doi:10.1145/2254064.2254116","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2254064.2254116","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation","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/A5069392259","display_name":"Patrice Godefroid","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"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Patrice Godefroid","raw_affiliation_strings":["Microsoft Research, Redmond, WA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069391199","display_name":"Ankur Taly","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ankur Taly","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.5936,"has_fulltext":false,"cited_by_count":54,"citation_normalized_percentile":{"value":0.93801574,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"441","last_page":"452"},"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.9997000098228455,"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.9997000098228455,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9991999864578247,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/x86","display_name":"x86","score":0.9493328332901001},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8746084570884705},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.7151147723197937},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.5719960927963257},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5384924411773682},{"id":"https://openalex.org/keywords/binary-translation","display_name":"Binary translation","score":0.488071084022522},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4779346287250519},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4515189826488495},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4467935860157013},{"id":"https://openalex.org/keywords/binary-number","display_name":"Binary number","score":0.42575982213020325},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3841434121131897},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.2395513653755188},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1426600217819214}],"concepts":[{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.9493328332901001},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8746084570884705},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.7151147723197937},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.5719960927963257},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5384924411773682},{"id":"https://openalex.org/C2778971978","wikidata":"https://www.wikidata.org/wiki/Q2287075","display_name":"Binary translation","level":3,"score":0.488071084022522},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4779346287250519},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4515189826488495},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4467935860157013},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.42575982213020325},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3841434121131897},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.2395513653755188},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1426600217819214},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","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":3,"locations":[{"id":"doi:10.1145/2254064.2254116","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2254064.2254116","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.298.908","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.298.908","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://theory.stanford.edu/~ataly/Papers/pldi12.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.654.8498","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.654.8498","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/pubs/156020/main.pdf?origin%3Dpublication_detail","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W17195072","https://openalex.org/W157156687","https://openalex.org/W1480909796","https://openalex.org/W1485813213","https://openalex.org/W1506510492","https://openalex.org/W1968309647","https://openalex.org/W1992181084","https://openalex.org/W1995825057","https://openalex.org/W1997199152","https://openalex.org/W2020764470","https://openalex.org/W2029251029","https://openalex.org/W2107445402","https://openalex.org/W2108784678","https://openalex.org/W2115007594","https://openalex.org/W2119251836","https://openalex.org/W2123267559","https://openalex.org/W2125076295","https://openalex.org/W2132006913","https://openalex.org/W2132525863","https://openalex.org/W2134734244","https://openalex.org/W2137224681","https://openalex.org/W2149236697","https://openalex.org/W2161712539","https://openalex.org/W2169294765","https://openalex.org/W2170911071","https://openalex.org/W2634524329","https://openalex.org/W4236835455","https://openalex.org/W4237412827","https://openalex.org/W4242912959","https://openalex.org/W4245234767"],"related_works":["https://openalex.org/W1964586167","https://openalex.org/W2369102298","https://openalex.org/W2963356946","https://openalex.org/W4236526691","https://openalex.org/W1996050943","https://openalex.org/W2003690377","https://openalex.org/W2544369712","https://openalex.org/W2328210346","https://openalex.org/W2113489899","https://openalex.org/W2090939166"],"abstract_inverted_index":{"Symbolic":[0],"execution":[1,23],"is":[2,81],"a":[3,21,26,70,131],"key":[4],"component":[5],"of":[6,20,44,86],"precise":[7],"binary":[8],"program":[9],"analysis":[10],"tools.":[11],"We":[12,36,57,68],"discuss":[13],"how":[14,38],"to":[15,39,83],"automatically":[16,40,102],"boot-strap":[17],"the":[18,126,147],"construction":[19],"symbolic":[22,42],"engine":[24],"for":[25,106],"processor":[27,46],"instruction":[28,65,158],"set":[29],"such":[30],"as":[31,54],"x86,":[32],"x64":[33],"or":[34],"ARM.":[35],"show":[37,80],"synthesize":[41,103],"representations":[43],"individual":[45],"instructions":[47,110],"from":[48],"input/output":[49],"examples":[50],"and":[51,59,64,119,151],"express":[52],"them":[53],"bit-vector":[55,104],"constraints.":[56],"present":[58],"compare":[60],"various":[61],"synthesis":[62,72,91,117],"algorithms":[63,92],"sampling":[66,77],"strategies.":[67],"introduce":[69],"new":[71,98],"algorithm":[73],"based":[74],"on":[75,130],"smart":[76],"which":[78],"we":[79,100,137],"one":[82],"two":[84,123],"orders":[85],"magnitude":[87],"faster":[88],"than":[89,122],"previous":[90,155],"in":[93,120,146,154],"our":[94],"context.":[95],"With":[96],"this":[97,135],"algorithm,":[99],"can":[101],"circuits":[105],"over":[107],"500":[108],"x86":[109,143,148,157],"(8/16/32-bits,":[111],"outputs,":[112],"EFLAGS)":[113],"using":[114,125],"only":[115],"6":[116],"templates":[118],"less":[121],"hours":[124],"Z3":[127],"SMT":[128],"solver":[129],"regular":[132],"machine.":[133],"During":[134],"work,":[136],"also":[138],"discovered":[139],"several":[140,152],"inconsistencies":[141],"across":[142],"processors,":[144],"errors":[145],"Intel":[149],"spec,":[150],"bugs":[153],"manually-written":[156],"handlers.":[159]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":7},{"year":2016,"cited_by_count":10},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":10},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
