{"id":"https://openalex.org/W4297120436","doi":"https://doi.org/10.1145/3561320.3561326","title":"A Type-Directed Algorithm to Generate Random Well-Formed Parsing Expression Grammars","display_name":"A Type-Directed Algorithm to Generate Random Well-Formed Parsing Expression Grammars","publication_year":2022,"publication_date":"2022-09-26","ids":{"openalex":"https://openalex.org/W4297120436","doi":"https://doi.org/10.1145/3561320.3561326"},"language":"en","primary_location":{"id":"doi:10.1145/3561320.3561326","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561326","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","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/A5012752317","display_name":"Elton M. Cardoso","orcid":"https://orcid.org/0000-0003-4174-8616"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Elton Maximo Cardoso","raw_affiliation_strings":["Universidade Federal de Ouro Preto, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidade Federal de Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029223608","display_name":"Daniel Freitas Pereira","orcid":null},"institutions":[{"id":"https://openalex.org/I101100930","display_name":"Universidade Federal de Juiz de Fora","ror":"https://ror.org/04yqw9c44","country_code":"BR","type":"education","lineage":["https://openalex.org/I101100930"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Daniel Freitas Pereira","raw_affiliation_strings":["Universidade Federal de Juiz de Fora, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidade Federal de Juiz de Fora, Brazil","institution_ids":["https://openalex.org/I101100930"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015656923","display_name":"Regina Sarah Monferrari Amorim De Paula","orcid":null},"institutions":[{"id":"https://openalex.org/I101100930","display_name":"Universidade Federal de Juiz de Fora","ror":"https://ror.org/04yqw9c44","country_code":"BR","type":"education","lineage":["https://openalex.org/I101100930"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Regina Sarah Monferrari Amorim De Paula","raw_affiliation_strings":["Universidade Federal de Juiz de Fora, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidade Federal de Juiz de Fora, Brazil","institution_ids":["https://openalex.org/I101100930"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076028754","display_name":"Leonardo Vieira dos Santos Reis","orcid":"https://orcid.org/0000-0002-1167-5332"},"institutions":[{"id":"https://openalex.org/I101100930","display_name":"Universidade Federal de Juiz de Fora","ror":"https://ror.org/04yqw9c44","country_code":"BR","type":"education","lineage":["https://openalex.org/I101100930"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Leonardo Vieira Dos Santos Reis","raw_affiliation_strings":["Universidade Federal de Juiz de Fora, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidade Federal de Juiz de Fora, Brazil","institution_ids":["https://openalex.org/I101100930"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5061049872","display_name":"Rodrigo Ribeiro","orcid":"https://orcid.org/0000-0003-0131-5154"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Rodrigo Geraldo Ribeiro","raw_affiliation_strings":["Universidade Federal de Ouro Preto, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidade Federal de Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.5541,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.67312423,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"8","last_page":"14"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9997000098228455,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991999864578247,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9970999956130981,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8280184864997864},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.7861924171447754},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7357367873191833},{"id":"https://openalex.org/keywords/undecidable-problem","display_name":"Undecidable problem","score":0.6008957624435425},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5652167201042175},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.54805588722229},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.5418556332588196},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.4973738491535187},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.4619844853878021},{"id":"https://openalex.org/keywords/parsing-expression-grammar","display_name":"Parsing expression grammar","score":0.4226728677749634},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.35735833644866943},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.356981098651886},{"id":"https://openalex.org/keywords/l-attributed-grammar","display_name":"L-attributed grammar","score":0.24208348989486694},{"id":"https://openalex.org/keywords/decidability","display_name":"Decidability","score":0.18931373953819275},{"id":"https://openalex.org/keywords/context-free-grammar","display_name":"Context-free grammar","score":0.15301555395126343}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8280184864997864},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.7861924171447754},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7357367873191833},{"id":"https://openalex.org/C192034797","wikidata":"https://www.wikidata.org/wiki/Q3502995","display_name":"Undecidable problem","level":3,"score":0.6008957624435425},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5652167201042175},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.54805588722229},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.5418556332588196},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.4973738491535187},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.4619844853878021},{"id":"https://openalex.org/C146810361","wikidata":"https://www.wikidata.org/wiki/Q32271","display_name":"Parsing expression grammar","level":5,"score":0.4226728677749634},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.35735833644866943},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.356981098651886},{"id":"https://openalex.org/C67621940","wikidata":"https://www.wikidata.org/wiki/Q3113340","display_name":"L-attributed grammar","level":4,"score":0.24208348989486694},{"id":"https://openalex.org/C153269930","wikidata":"https://www.wikidata.org/wiki/Q430001","display_name":"Decidability","level":2,"score":0.18931373953819275},{"id":"https://openalex.org/C97212296","wikidata":"https://www.wikidata.org/wiki/Q338047","display_name":"Context-free grammar","level":3,"score":0.15301555395126343},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3561320.3561326","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561326","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","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":29,"referenced_works":["https://openalex.org/W606696939","https://openalex.org/W1518650316","https://openalex.org/W1799755352","https://openalex.org/W1820500785","https://openalex.org/W2006898115","https://openalex.org/W2009706943","https://openalex.org/W2013596093","https://openalex.org/W2018045485","https://openalex.org/W2021621252","https://openalex.org/W2098456636","https://openalex.org/W2156429182","https://openalex.org/W2159192310","https://openalex.org/W2265625463","https://openalex.org/W2493930467","https://openalex.org/W2943290483","https://openalex.org/W2949259341","https://openalex.org/W2955231257","https://openalex.org/W2963629501","https://openalex.org/W2971803501","https://openalex.org/W2998768639","https://openalex.org/W3006681445","https://openalex.org/W3031408362","https://openalex.org/W3104328781","https://openalex.org/W3104939393","https://openalex.org/W3105233674","https://openalex.org/W4234122891","https://openalex.org/W4242126179","https://openalex.org/W4244888056","https://openalex.org/W4250850800"],"related_works":["https://openalex.org/W2313200283","https://openalex.org/W3136824659","https://openalex.org/W2077094028","https://openalex.org/W2118045671","https://openalex.org/W4288574857","https://openalex.org/W4320024782","https://openalex.org/W3013745534","https://openalex.org/W1481527871","https://openalex.org/W2915044765","https://openalex.org/W2038130469"],"abstract_inverted_index":{"PEGs":[0],"are":[1],"recognition":[2],"formalism":[3],"proposed":[4],"by":[5],"Brian":[6],"Ford":[7,37],"to":[8,14,65],"describe":[9],"top-down":[10],"recursive":[11],"parsers.":[12],"Unfortunately,":[13],"determine":[15],"whether":[16],"an":[17,24,82,90],"arbitrary":[18],"PEG":[19,45],"will":[20],"terminate":[21],"when":[22,54],"parsing":[23,35],"input":[25],"is":[26,30,63],"undecidable.":[27],"As":[28],"termination":[29],"a":[31,39,72,78,103],"desired":[32],"property":[33],"for":[34,92],"tools,":[36],"proposes":[38],"well-formedness":[40],"test":[41],"that":[42,46],"guarantees":[43],"every":[44],"satisfies":[47],"it,":[48],"terminates":[49],"on":[50],"any":[51],"input.":[52],"Therefore,":[53],"experimenting":[55],"with":[56],"PEG-based":[57,79],"tools":[58],"using":[59],"property-based":[60],"testing,":[61],"it":[62,101],"mandatory":[64],"randomly":[66],"generate":[67],"only":[68],"well-formed":[69,94],"PEGs,":[70,95],"since":[71],"naive":[73],"generation":[74],"strategy":[75],"may":[76],"lead":[77],"parser":[80],"into":[81],"infinite":[83],"loop.":[84],"To":[85],"overcome":[86],"that,":[87],"we":[88],"propose":[89],"algorithm":[91],"generating":[93],"prove":[96],"its":[97],"correctness":[98],"and":[99],"implement":[100],"as":[102],"library":[104],"in":[105],"the":[106],"Racket":[107],"programming":[108],"language.":[109]},"counts_by_year":[{"year":2024,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
