{"id":"https://openalex.org/W4389438938","doi":"https://doi.org/10.1145/3636430","title":"StructCoder: Structure-Aware Transformer for Code Generation","display_name":"StructCoder: Structure-Aware Transformer for Code Generation","publication_year":2023,"publication_date":"2023-12-07","ids":{"openalex":"https://openalex.org/W4389438938","doi":"https://doi.org/10.1145/3636430"},"language":"en","primary_location":{"id":"doi:10.1145/3636430","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3636430","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3636430","source":{"id":"https://openalex.org/S41523882","display_name":"ACM Transactions on Knowledge Discovery from Data","issn_l":"1556-4681","issn":["1556-4681","1556-472X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Knowledge Discovery from Data","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3636430","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047106547","display_name":"Sindhu Tipirneni","orcid":"https://orcid.org/0000-0001-5502-1616"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sindhu Tipirneni","raw_affiliation_strings":["Department of Computer Science, Virginia Tech, Arlington, VA, USA"],"raw_orcid":"https://orcid.org/0000-0001-5502-1616","affiliations":[{"raw_affiliation_string":"Department of Computer Science, Virginia Tech, Arlington, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101813166","display_name":"Ming Zhu","orcid":"https://orcid.org/0000-0002-9128-076X"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ming Zhu","raw_affiliation_strings":["Department of Computer Science, Virginia Tech, Arlington, VA, USA"],"raw_orcid":"https://orcid.org/0000-0002-9128-076X","affiliations":[{"raw_affiliation_string":"Department of Computer Science, Virginia Tech, Arlington, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001022750","display_name":"Chandan K. Reddy","orcid":"https://orcid.org/0000-0003-2839-3662"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chandan K. Reddy","raw_affiliation_strings":["Department of Computer Science, Virginia Tech, Arlington, VA, USA"],"raw_orcid":"https://orcid.org/0000-0003-2839-3662","affiliations":[{"raw_affiliation_string":"Department of Computer Science, Virginia Tech, Arlington, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I859038795"],"apc_list":null,"apc_paid":null,"fwci":19.3561,"has_fulltext":true,"cited_by_count":45,"citation_normalized_percentile":{"value":0.99284113,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":100},"biblio":{"volume":"18","issue":"3","first_page":"1","last_page":"20"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.9957000017166138,"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"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.991100013256073,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8651366233825684},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.7958455085754395},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.7570956349372864},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.6923152208328247},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.6688458323478699},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6447300910949707},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.5425518155097961},{"id":"https://openalex.org/keywords/kpi-driven-code-analysis","display_name":"KPI-driven code analysis","score":0.5138938426971436},{"id":"https://openalex.org/keywords/encoder","display_name":"Encoder","score":0.4736410677433014},{"id":"https://openalex.org/keywords/transformer","display_name":"Transformer","score":0.46822449564933777},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.41939738392829895},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.41929149627685547},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4045005440711975},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.3415524959564209},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.25033822655677795},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.19048890471458435}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8651366233825684},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.7958455085754395},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.7570956349372864},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.6923152208328247},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6688458323478699},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6447300910949707},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.5425518155097961},{"id":"https://openalex.org/C121957198","wikidata":"https://www.wikidata.org/wiki/Q14365593","display_name":"KPI-driven code analysis","level":5,"score":0.5138938426971436},{"id":"https://openalex.org/C118505674","wikidata":"https://www.wikidata.org/wiki/Q42586063","display_name":"Encoder","level":2,"score":0.4736410677433014},{"id":"https://openalex.org/C66322947","wikidata":"https://www.wikidata.org/wiki/Q11658","display_name":"Transformer","level":3,"score":0.46822449564933777},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.41939738392829895},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.41929149627685547},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4045005440711975},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.3415524959564209},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.25033822655677795},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.19048890471458435},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C165801399","wikidata":"https://www.wikidata.org/wiki/Q25428","display_name":"Voltage","level":2,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3636430","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3636430","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3636430","source":{"id":"https://openalex.org/S41523882","display_name":"ACM Transactions on Knowledge Discovery from Data","issn_l":"1556-4681","issn":["1556-4681","1556-472X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Knowledge Discovery from Data","raw_type":"journal-article"},{"id":"pmh:oai:vtechworks.lib.vt.edu:10919/118237","is_oa":true,"landing_page_url":"https://hdl.handle.net/10919/118237","pdf_url":"https://vtechworks.lib.vt.edu/bitstreams/023515db-c9ac-4f84-8032-3a6114e2dd5c/download","source":{"id":"https://openalex.org/S4306400248","display_name":"VTechWorks (Virginia Tech)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I859038795","host_organization_name":"Virginia Tech","host_organization_lineage":["https://openalex.org/I859038795"],"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":"Article - Refereed"}],"best_oa_location":{"id":"doi:10.1145/3636430","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3636430","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3636430","source":{"id":"https://openalex.org/S41523882","display_name":"ACM Transactions on Knowledge Discovery from Data","issn_l":"1556-4681","issn":["1556-4681","1556-472X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Knowledge Discovery from Data","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Quality Education","score":0.46000000834465027,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4389438938.pdf","grobid_xml":"https://content.openalex.org/works/W4389438938.grobid-xml"},"referenced_works_count":32,"referenced_works":["https://openalex.org/W1593271688","https://openalex.org/W2612690371","https://openalex.org/W2747329762","https://openalex.org/W2768572539","https://openalex.org/W2896457183","https://openalex.org/W2908510526","https://openalex.org/W2950813464","https://openalex.org/W2962728167","https://openalex.org/W2962936887","https://openalex.org/W2963617989","https://openalex.org/W2965373594","https://openalex.org/W2970597249","https://openalex.org/W2973529529","https://openalex.org/W2979826702","https://openalex.org/W2981852735","https://openalex.org/W2997847174","https://openalex.org/W3089307846","https://openalex.org/W3098605233","https://openalex.org/W3099302725","https://openalex.org/W3162689995","https://openalex.org/W3170092793","https://openalex.org/W3171200957","https://openalex.org/W3176868790","https://openalex.org/W3183962691","https://openalex.org/W3198685994","https://openalex.org/W4205749957","https://openalex.org/W4224060952","https://openalex.org/W4226485558","https://openalex.org/W4288089799","https://openalex.org/W4394638297","https://openalex.org/W6757817989","https://openalex.org/W6795545164"],"related_works":["https://openalex.org/W4200321676","https://openalex.org/W4389438938","https://openalex.org/W4282813445","https://openalex.org/W3049398420","https://openalex.org/W2367115345","https://openalex.org/W4386788767","https://openalex.org/W3012064729","https://openalex.org/W4317042421","https://openalex.org/W2950501278","https://openalex.org/W4302368868"],"abstract_inverted_index":{"There":[0],"has":[1],"been":[2],"a":[3,37,41,67,171],"recent":[4],"surge":[5],"of":[6,21,71,139,161,185,210],"interest":[7],"in":[8,24,36,86,102,133,202],"automating":[9],"software":[10],"engineering":[11],"tasks":[12,201],"using":[13],"deep":[14,47],"learning.":[15],"This":[16],"article":[17],"addresses":[18],"the":[19,26,72,89,98,103,113,119,131,135,140,159,166,183,203,214],"problem":[20],"code":[22,32,35,51,65,73,142,196,216,220],"generation,":[23],"which":[25,87],"goal":[27],"is":[28,165,221],"to":[29,96,169,181],"generate":[30],"target":[31,106,141],"given":[33],"source":[34,104,120],"different":[38],"language":[39,43],"or":[40],"natural":[42,59],"description.":[44],"Most":[45],"state-of-the-art":[46,193],"learning":[48],"models":[49,176],"for":[50,58],"generation":[52,200,217],"use":[53],"training":[54],"strategies":[55],"primarily":[56],"designed":[57],"language.":[60],"However,":[61],"understanding":[62],"and":[63,75,91,100,105,124,137,155,179,198,206],"generating":[64],"requires":[66],"more":[68],"rigorous":[69],"comprehension":[70],"syntax":[74,99,122,136,178],"semantics.":[76],"With":[77],"this":[78,164],"motivation,":[79],"we":[80,128],"develop":[81],"an":[82],"encoder-decoder":[83],"Transformer":[84,173],"model":[85,191],"both":[88,177],"encoder":[90,114],"decoder":[92,132,174],"are":[93],"explicitly":[94],"trained":[95],"recognize":[97],"dataflow":[101,125,138,156,180],"codes,":[107],"respectively.":[108],"We":[109],"not":[110],"only":[111],"make":[112],"structure":[115],"aware":[116],"by":[117,143],"leveraging":[118],"code\u2019s":[121],"tree":[123],"graph,":[126],"but":[127],"also":[129],"support":[130],"preserving":[134],"introducing":[144],"two":[145],"novel":[146],"auxiliary":[147],"tasks:":[148],"Abstract":[149],"Syntax":[150],"Tree":[151],"(AST)":[152],"path":[153],"prediction":[154],"prediction.":[157],"To":[158],"best":[160],"our":[162],"knowledge,":[163],"first":[167],"work":[168],"introduce":[170],"structure-aware":[172],"that":[175],"enhance":[182],"quality":[184],"generated":[186],"code.":[187],"The":[188],"proposed":[189],"StructCoder":[190],"achieves":[192],"performance":[194],"on":[195,213],"translation":[197],"text-to-code":[199],"CodeXGLUE":[204],"benchmark":[205],"improves":[207],"over":[208],"baselines":[209],"similar":[211],"size":[212],"APPS":[215],"benchmark.":[218],"Our":[219],"publicly":[222],"available":[223],"at":[224],"https://github.com/reddy-lab-code-research/StructCoder/":[225],".":[226]},"counts_by_year":[{"year":2026,"cited_by_count":11},{"year":2025,"cited_by_count":18},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":6}],"updated_date":"2026-08-28T12:50:07.497085","created_date":"2025-10-10T00:00:00"}
