{"id":"https://openalex.org/W2077335003","doi":"https://doi.org/10.1145/2584469.2584474","title":"Finding bugs in program generators by dynamic analysis of syntactic language constraints","display_name":"Finding bugs in program generators by dynamic analysis of syntactic language constraints","publication_year":2014,"publication_date":"2014-04-15","ids":{"openalex":"https://openalex.org/W2077335003","doi":"https://doi.org/10.1145/2584469.2584474","mag":"2077335003"},"language":"en","primary_location":{"id":"doi:10.1145/2584469.2584474","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2584469.2584474","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the companion publication of the 13th international conference on Modularity","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/A5059992246","display_name":"Sebastian Erdweg","orcid":"https://orcid.org/0000-0002-1974-5956"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian Erdweg","raw_affiliation_strings":["TU Darmstadt, Darmstadt, Germany","[TU Darmstadt Darmstadt, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"[TU Darmstadt Darmstadt, Germany]","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090066739","display_name":"Vlad Vergu","orcid":null},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Vlad Vergu","raw_affiliation_strings":["TU Delft, Delft, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Delft, Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078067853","display_name":"Mira Mezini","orcid":"https://orcid.org/0000-0001-6563-7537"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Mira Mezini","raw_affiliation_strings":["TU Darmstadt, Darmstadt, Germany","[TU Darmstadt Darmstadt, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"[TU Darmstadt Darmstadt, Germany]","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072923235","display_name":"Eelco Visser","orcid":"https://orcid.org/0000-0002-7384-3370"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Eelco Visser","raw_affiliation_strings":["TU Delft, Delft, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Delft, Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.16911206,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"17","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.9997000098228455,"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.9997000098228455,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9995999932289124,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"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.8670939207077026},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8254908323287964},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.671579122543335},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6480594873428345},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5934401750564575},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.5548158288002014},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.5527037978172302},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.5505136847496033},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.5441346168518066},{"id":"https://openalex.org/keywords/grammar","display_name":"Grammar","score":0.5257956385612488},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.5018103122711182},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.48826122283935547},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.44274401664733887},{"id":"https://openalex.org/keywords/specification-language","display_name":"Specification language","score":0.4139575958251953},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.30837005376815796},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.2521064877510071},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.12869694828987122}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8670939207077026},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8254908323287964},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.671579122543335},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6480594873428345},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5934401750564575},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.5548158288002014},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.5527037978172302},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.5505136847496033},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.5441346168518066},{"id":"https://openalex.org/C26022165","wikidata":"https://www.wikidata.org/wiki/Q8091","display_name":"Grammar","level":2,"score":0.5257956385612488},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.5018103122711182},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.48826122283935547},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.44274401664733887},{"id":"https://openalex.org/C201677973","wikidata":"https://www.wikidata.org/wiki/Q1209840","display_name":"Specification language","level":2,"score":0.4139575958251953},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.30837005376815796},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.2521064877510071},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.12869694828987122},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","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}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2584469.2584474","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2584469.2584474","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the companion publication of the 13th international conference on Modularity","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.725.2742","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.725.2742","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.informatik.uni-marburg.de/%7Eseba/publications/typesmart-syntax-demo.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.6399999856948853}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":10,"referenced_works":["https://openalex.org/W121159850","https://openalex.org/W1625533892","https://openalex.org/W1975276861","https://openalex.org/W1978948468","https://openalex.org/W2022744394","https://openalex.org/W2076441445","https://openalex.org/W2078200248","https://openalex.org/W2144513252","https://openalex.org/W2151073063","https://openalex.org/W2904205446"],"related_works":["https://openalex.org/W4389751695","https://openalex.org/W2077104824","https://openalex.org/W3176913510","https://openalex.org/W2867457158","https://openalex.org/W3138016835","https://openalex.org/W2536864162","https://openalex.org/W2765641823","https://openalex.org/W4297908618","https://openalex.org/W2751940653","https://openalex.org/W2394478781"],"abstract_inverted_index":{"Program":[0],"generators":[1,33,103],"and":[2,42,56,118,127],"transformations":[3],"are":[4,61],"hard":[5],"to":[6,13,17,31,36,80,93],"implement":[7],"correctly,":[8],"because":[9],"the":[10,44,47,70,74,82,85,95,99,111,114],"implementation":[11],"needs":[12],"generically":[14],"describe":[15],"how":[16],"construct":[18],"programs,":[19],"for":[20,113],"example,":[21],"using":[22],"templates":[23],"or":[24],"rewrite":[25],"rules.":[26],"We":[27,108],"apply":[28],"dynamic":[29],"analysis":[30,50,83,112],"program":[32],"in":[34,39,121],"order":[35],"support":[37,94],"developers":[38],"finding":[40],"bugs":[41],"identifying":[43],"source":[45],"of":[46,73,98],"bug.":[48],"Our":[49],"focuses":[51],"on":[52,125],"syntactic":[53],"language":[54,117],"constraints":[55],"checks":[57],"that":[58,102],"generated":[59],"programs":[60],"syntactically":[62],"well-formed.":[63],"To":[64],"retain":[65],"a":[66,90],"language's":[67,75],"grammar":[68],"as":[69],"unique":[71],"specification":[72],"syntax,":[76],"we":[77,88],"devised":[78],"mechanisms":[79],"derive":[81],"from":[84],"grammar.":[86],"Moreover,":[87],"designed":[89],"run-time":[91],"system":[92],"modular":[96],"activation/deactivation":[97],"analysis,":[100],"so":[101],"do":[104],"not":[105],"require":[106],"adaption.":[107],"have":[109],"implemented":[110],"Stratego":[115],"term-rewriting":[116],"applied":[119],"it":[120],"case":[122],"studies":[123],"based":[124],"Spoofax":[126],"SugarJ.":[128]},"counts_by_year":[],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
