{"id":"https://openalex.org/W2937836435","doi":"https://doi.org/10.1109/icse-companion.2019.00113","title":"fAST: Flattening Abstract Syntax Trees for Efficiency","display_name":"fAST: Flattening Abstract Syntax Trees for Efficiency","publication_year":2019,"publication_date":"2019-05-01","ids":{"openalex":"https://openalex.org/W2937836435","doi":"https://doi.org/10.1109/icse-companion.2019.00113","mag":"2937836435"},"language":"en","primary_location":{"id":"doi:10.1109/icse-companion.2019.00113","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse-companion.2019.00113","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","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/A5002289161","display_name":"Yijun Yu","orcid":"https://orcid.org/0000-0002-7154-8570"},"institutions":[{"id":"https://openalex.org/I204136569","display_name":"The Open University","ror":"https://ror.org/05mzfcs16","country_code":"GB","type":"education","lineage":["https://openalex.org/I204136569"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Yijun Yu","raw_affiliation_strings":["School of Computing and Communications, The Open University"],"affiliations":[{"raw_affiliation_string":"School of Computing and Communications, The Open University","institution_ids":["https://openalex.org/I204136569"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5002289161"],"corresponding_institution_ids":["https://openalex.org/I204136569"],"apc_list":null,"apc_paid":null,"fwci":2.1131,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.89905221,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"278","last_page":"279"},"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.9947999715805054,"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.9868000149726868,"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.8385363817214966},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.8254225254058838},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7127885222434998},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6079846024513245},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.5640206336975098},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5276305079460144},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.5122420191764832},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.48216694593429565},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.4808921813964844},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4715801775455475},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.43822869658470154},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.41956669092178345},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2376886010169983},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.21456602215766907},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08481043577194214}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8385363817214966},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.8254225254058838},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7127885222434998},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6079846024513245},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.5640206336975098},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5276305079460144},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.5122420191764832},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.48216694593429565},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.4808921813964844},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4715801775455475},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.43822869658470154},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.41956669092178345},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2376886010169983},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.21456602215766907},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08481043577194214},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"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/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/icse-companion.2019.00113","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse-companion.2019.00113","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","raw_type":"proceedings-article"},{"id":"pmh:oai:oro.open.ac.uk:59268","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401187","display_name":"Open Research Online (The Open University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I204136569","host_organization_name":"The Open University","host_organization_lineage":["https://openalex.org/I204136569"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Conference or Workshop Item"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":7,"referenced_works":["https://openalex.org/W1987353911","https://openalex.org/W2085987080","https://openalex.org/W2469513535","https://openalex.org/W2761748034","https://openalex.org/W2781021471","https://openalex.org/W2962961569","https://openalex.org/W6745033356"],"related_works":["https://openalex.org/W2077104824","https://openalex.org/W2536864162","https://openalex.org/W2613250302","https://openalex.org/W2393678839","https://openalex.org/W4389751695","https://openalex.org/W2095633838","https://openalex.org/W2390421503","https://openalex.org/W1988370859","https://openalex.org/W2387926336","https://openalex.org/W319507398"],"abstract_inverted_index":{"Frequently":[0],"source":[1,44],"code":[2],"analysis":[3,45],"tools":[4,46,102],"need":[5],"to":[6,47,56,82,98],"exchange":[7,48],"internal":[8],"representations":[9,23],"of":[10,28,65,131,134],"abstract":[11],"syntax":[12],"trees":[13],"(AST)":[14],"with":[15],"each":[16],"other.":[17],"Conveniently,":[18],"and":[19,90],"intuitively,":[20],"the":[21,26,39,63,104],"externalised":[22],"are":[24,85,95],"in":[25,67,124],"form":[27,126],"hierarchical":[29,35],"trees.":[30],"We":[31],"argue,":[32],"counter-intuitively,":[33],"that":[34,116],"representation":[36],"is":[37],"not":[38],"most":[40],"efficient":[41,97],"way":[42],"for":[43],"parsed":[49],"AST.":[50],"In":[51,110],"this":[52],"work,":[53],"we":[54,114],"propose":[55],"speed":[57],"up":[58],"AST":[59,71,94,119,127],"parsing":[60,117],"whilst":[61],"preserving":[62],"equivalence":[64],"hierarchies":[66],"binary":[68],"forms:":[69],"(1)":[70],"could":[72],"be":[73],"saved":[74],"as":[75],"a":[76,129],"flat":[77],"one-dimensional":[78],"array":[79],"where":[80],"pointers":[81],"tree":[83],"nodes":[84],"converted":[86],"into":[87],"integer":[88],"offsets,":[89],"(2)":[91],"such":[92],"flattened":[93,118],"more":[96],"access":[99],"by":[100],"programming":[101,107,111,137],"through":[103],"generated":[105],"application":[106],"interfaces":[108],"(API).":[109],"language-agnostic":[112],"evaluations,":[113],"show":[115],"becomes":[120],"100x":[121],"faster":[122],"than":[123],"textual":[125],"on":[128],"benchmark":[130],"open-source":[132],"projects":[133],"6":[135],"different":[136],"languages.":[138]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
