{"id":"https://openalex.org/W3195233806","doi":"https://doi.org/10.1109/ase51524.2021.9678705","title":"A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base","display_name":"A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base","publication_year":2021,"publication_date":"2021-11-01","ids":{"openalex":"https://openalex.org/W3195233806","doi":"https://doi.org/10.1109/ase51524.2021.9678705","mag":"3195233806"},"language":"en","primary_location":{"id":"doi:10.1109/ase51524.2021.9678705","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ase51524.2021.9678705","pdf_url":null,"source":{"id":"https://openalex.org/S4363608212","display_name":"2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)","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":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2108.07117","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5020004137","display_name":"Ali Shokri","orcid":"https://orcid.org/0000-0002-9758-3091"},"institutions":[{"id":"https://openalex.org/I155173764","display_name":"Rochester Institute of Technology","ror":"https://ror.org/00v4yb702","country_code":"US","type":"education","lineage":["https://openalex.org/I155173764"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ali Shokri","raw_affiliation_strings":["Dept. of Software Engineering, Rochester Institute of Technology, Rochester, NY, USA"],"affiliations":[{"raw_affiliation_string":"Dept. of Software Engineering, Rochester Institute of Technology, Rochester, NY, USA","institution_ids":["https://openalex.org/I155173764"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5020004137"],"corresponding_institution_ids":["https://openalex.org/I155173764"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.12332589,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"4","issue":null,"first_page":"1388","last_page":"1390"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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.9998000264167786,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9988999962806702,"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/computer-science","display_name":"Computer science","score":0.8025974035263062},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.6620041728019714},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.6134002804756165},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5833762884140015},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.5798437595367432},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5628498196601868},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5524635314941406},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5003859996795654},{"id":"https://openalex.org/keywords/base","display_name":"Base (topology)","score":0.4800720810890198},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4621041715145111},{"id":"https://openalex.org/keywords/snippet","display_name":"Snippet","score":0.4502970576286316},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.42791563272476196},{"id":"https://openalex.org/keywords/field","display_name":"Field (mathematics)","score":0.42621058225631714},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.21126914024353027},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.12643787264823914},{"id":"https://openalex.org/keywords/systems-engineering","display_name":"Systems engineering","score":0.1153612732887268}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8025974035263062},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.6620041728019714},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.6134002804756165},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5833762884140015},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.5798437595367432},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5628498196601868},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5524635314941406},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5003859996795654},{"id":"https://openalex.org/C42058472","wikidata":"https://www.wikidata.org/wiki/Q810214","display_name":"Base (topology)","level":2,"score":0.4800720810890198},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4621041715145111},{"id":"https://openalex.org/C2777822670","wikidata":"https://www.wikidata.org/wiki/Q1120538","display_name":"Snippet","level":2,"score":0.4502970576286316},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.42791563272476196},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.42621058225631714},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.21126914024353027},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.12643787264823914},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.1153612732887268},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"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},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/ase51524.2021.9678705","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ase51524.2021.9678705","pdf_url":null,"source":{"id":"https://openalex.org/S4363608212","display_name":"2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)","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":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:2108.07117","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2108.07117","pdf_url":"https://arxiv.org/pdf/2108.07117","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2108.07117","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2108.07117","pdf_url":"https://arxiv.org/pdf/2108.07117","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"},"sustainable_development_goals":[{"display_name":"Sustainable cities and communities","id":"https://metadata.un.org/sdg/11","score":0.4699999988079071}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W2081453552","https://openalex.org/W2134734244","https://openalex.org/W2510163281","https://openalex.org/W2561055248","https://openalex.org/W2615284185","https://openalex.org/W2794883202","https://openalex.org/W2805457749","https://openalex.org/W2899590559","https://openalex.org/W2943748428","https://openalex.org/W2976890614","https://openalex.org/W2985445870","https://openalex.org/W2995341674","https://openalex.org/W3088022100","https://openalex.org/W3112584285","https://openalex.org/W3123182306","https://openalex.org/W3130606310","https://openalex.org/W3134547809","https://openalex.org/W3160062558","https://openalex.org/W3187756790","https://openalex.org/W4229675450","https://openalex.org/W6770351002"],"related_works":["https://openalex.org/W2182697532","https://openalex.org/W1517387344","https://openalex.org/W1544062218","https://openalex.org/W1964111631","https://openalex.org/W2972809164","https://openalex.org/W185550498","https://openalex.org/W2348203156","https://openalex.org/W2226868092","https://openalex.org/W2164928043","https://openalex.org/W2747273734"],"abstract_inverted_index":{"Automatically":[0],"constructing":[1],"a":[2,27,69,143],"program":[3,54,70,136,145],"based":[4,81],"on":[5,32,82],"given":[6],"specifications":[7],"has":[8],"been":[9],"studied":[10],"for":[11,35,134],"decades.":[12],"Despite":[13],"the":[14,17,22,33,37,41,45,83,89,102,122],"advances":[15],"in":[16,48,68,101],"field":[18],"of":[19,43,85,88],"Program":[20],"Synthesis,":[21],"current":[23],"approaches":[24],"suffer":[25],"from":[26],"twofold":[28],"issue:":[29],"highly":[30],"relying":[31],"programmer":[34],"providing":[36],"specifications,":[38],"and":[39,65,96,112,130,150],"leaving":[40],"task":[42],"incorporating":[44],"synthesized":[46,80,124],"code":[47,51,157],"an":[49,62,128,155],"existing":[50,156],"base":[52],"to":[53,57,78,93,98,108,114,121,154],"developers.":[55,137],"Due":[56],"its":[58,115],"program-wide":[59],"effects,":[60],"synthesizing":[61],"architectural":[63,152],"tactic":[64],"reusing":[66],"it":[67],"is":[71,127],"even":[72],"more":[73],"challenging.":[74],"Architectural":[75],"tactics":[76,153],"need":[77],"be":[79],"context":[84],"different":[86],"locations":[87,100],"program,":[90],"broken":[91],"down":[92],"smaller":[94],"pieces,":[95],"added":[97],"corresponding":[99],"code.":[103],"Moreover,":[104],"each":[105],"piece":[106],"needs":[107],"establish":[109],"correct":[110],"data-":[111],"control-dependencies":[113],"surrounding":[116],"environment":[117],"as":[118,120],"well":[119],"other":[123],"pieces.":[125],"This":[126],"error-prone":[129],"challenging":[131],"task,":[132],"especially":[133],"novice":[135],"In":[138],"this":[139],"paper,":[140],"we":[141],"introduce":[142],"novel":[144],"synthesis":[146],"approach":[147],"that":[148],"synthesizes":[149],"adds":[151],"base.":[158]},"counts_by_year":[],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
