{"id":"https://openalex.org/W2104789737","doi":"https://doi.org/10.1109/scam.2009.28","title":"RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation","display_name":"RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation","publication_year":2009,"publication_date":"2009-09-01","ids":{"openalex":"https://openalex.org/W2104789737","doi":"https://doi.org/10.1109/scam.2009.28","mag":"2104789737"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1109/scam.2009.28","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://ir.cwi.nl/pub/15097/15097A.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5111530922","display_name":"Paul Klint","orcid":null},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"funder","lineage":["https://openalex.org/I887064364"]},{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"funder","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Paul Klint","raw_affiliation_strings":["Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands"],"affiliations":[{"raw_affiliation_string":"Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands","institution_ids":["https://openalex.org/I887064364","https://openalex.org/I1341640284"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5105972252","display_name":"Tijs van der Storm","orcid":null},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"funder","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]},{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"funder","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Tijs van der Storm","raw_affiliation_strings":["Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands"],"affiliations":[{"raw_affiliation_string":"Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands","institution_ids":["https://openalex.org/I1341640284","https://openalex.org/I887064364"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074526787","display_name":"Jurgen Vinju","orcid":"https://orcid.org/0000-0002-2686-7409"},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"funder","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]},{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"funder","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Jurgen Vinju","raw_affiliation_strings":["Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands"],"affiliations":[{"raw_affiliation_string":"Centrum Wiskunde & Inf. & Inf. Inst., Univ. of Amsterdam, Amsterdam, Netherlands","institution_ids":["https://openalex.org/I1341640284","https://openalex.org/I887064364"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":8.788,"has_fulltext":true,"fulltext_origin":"ngrams","cited_by_count":296,"citation_normalized_percentile":{"value":0.960332,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":99,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"168","last_page":"177"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998,"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.9998,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9985,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9983,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.8185978},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.65300137},{"id":"https://openalex.org/keywords/boilerplate-text","display_name":"Boilerplate text","score":0.50097394},{"id":"https://openalex.org/keywords/kpi-driven-code-analysis","display_name":"KPI-driven code analysis","score":0.49020797},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.42404792},{"id":"https://openalex.org/keywords/domain-analysis","display_name":"Domain analysis","score":0.41795132}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8538263},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.8185978},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6892229},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.65300137},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6042525},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.5831461},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.57655334},{"id":"https://openalex.org/C75701414","wikidata":"https://www.wikidata.org/wiki/Q1651672","display_name":"Boilerplate text","level":2,"score":0.50097394},{"id":"https://openalex.org/C121957198","wikidata":"https://www.wikidata.org/wiki/Q14365593","display_name":"KPI-driven code analysis","level":5,"score":0.49020797},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.48782137},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.47675595},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.46242753},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.42404792},{"id":"https://openalex.org/C15708719","wikidata":"https://www.wikidata.org/wiki/Q2271801","display_name":"Domain analysis","level":5,"score":0.41795132},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4106229},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.36973992},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.29885656},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.13512406},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.11603871},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.08759758},{"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/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"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/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1109/scam.2009.28","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://ir.cwi.nl/pub/15097","pdf_url":"https://ir.cwi.nl/pub/15097/15097A.pdf","source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_indexed_in_scopus":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":["Royal Netherlands Academy of Arts and Sciences"],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.513.2410","pdf_url":"http://www.cwi.nl/~paulk/publications/rascal-scam-09.pdf","source":{"id":"https://openalex.org/S4306400349","display_name":"CiteSeer X (The Pennsylvania State University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_indexed_in_scopus":false,"is_core":false,"host_organization":"https://openalex.org/I130769515","host_organization_name":"Pennsylvania State University","host_organization_lineage":["https://openalex.org/I130769515"],"host_organization_lineage_names":["Pennsylvania State University"],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://ir.cwi.nl/pub/15097","pdf_url":"https://ir.cwi.nl/pub/15097/15097A.pdf","source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_indexed_in_scopus":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":["Royal Netherlands Academy of Arts and Sciences"],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":21,"referenced_works":["https://openalex.org/W14174749","https://openalex.org/W1510687364","https://openalex.org/W1545985476","https://openalex.org/W1567531241","https://openalex.org/W1589289166","https://openalex.org/W1864282499","https://openalex.org/W1891842933","https://openalex.org/W1966329842","https://openalex.org/W2013399578","https://openalex.org/W2033348393","https://openalex.org/W2056351581","https://openalex.org/W2085121557","https://openalex.org/W2112197627","https://openalex.org/W2117160785","https://openalex.org/W2123976282","https://openalex.org/W2125872407","https://openalex.org/W2127340092","https://openalex.org/W2128466029","https://openalex.org/W2181736156","https://openalex.org/W2285509003","https://openalex.org/W3037969376"],"related_works":["https://openalex.org/W4210653322","https://openalex.org/W377327559","https://openalex.org/W3194341934","https://openalex.org/W3153702491","https://openalex.org/W2969257295","https://openalex.org/W2170429374","https://openalex.org/W2154111312","https://openalex.org/W2119199159","https://openalex.org/W2104789737","https://openalex.org/W1976804602"],"abstract_inverted_index":{"Many":[0],"automated":[1],"software":[2],"engineering":[3],"tools":[4,17],"require":[5],"tight":[6],"integration":[7,60],"of":[8,42,61,73,95],"techniques":[9],"for":[10,19],"source":[11,78],"code":[12,79],"analysis":[13,80],"and":[14,49,57,81,88,98],"manipulation.":[15],"State-of-the-art":[16],"exist":[18],"both,":[20],"but":[21],"the":[22,40,46,84,96],"domains":[23],"have":[24],"remained":[25],"notoriously":[26],"separate":[27],"because":[28,45],"different":[29,62],"computational":[30],"paradigms":[31],"fit":[32],"each":[33],"domain":[34],"best.":[35],"This":[36],"impedance":[37],"mismatch":[38],"hampers":[39],"development":[41],"new":[43],"solutions":[44],"desired":[47],"functionality":[48],"scalability":[50],"can":[51],"only":[52],"be":[53],"achieved":[54],"by":[55,76,102],"repeated":[56],"ad":[58],"hoc":[59],"techniques.":[63],"RASCAL":[64],"is":[65],"a":[66,104],"domain-specific":[67],"language":[68,97],"that":[69],"takes":[70],"away":[71],"most":[72],"this":[74],"boilerplate":[75],"integrating":[77],"manipulation":[82],"at":[83],"conceptual,":[85],"syntactic,":[86],"semantic":[87],"technical":[89],"level.":[90],"We":[91],"give":[92],"an":[93],"overview":[94],"assess":[99],"its":[100],"merits":[101],"implementing":[103],"complex":[105],"refactoring.":[106]},"abstract_inverted_index_v3":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2104789737","counts_by_year":[{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":10},{"year":2022,"cited_by_count":18},{"year":2021,"cited_by_count":14},{"year":2020,"cited_by_count":16},{"year":2019,"cited_by_count":21},{"year":2018,"cited_by_count":21},{"year":2017,"cited_by_count":26},{"year":2016,"cited_by_count":21},{"year":2015,"cited_by_count":42},{"year":2014,"cited_by_count":33},{"year":2013,"cited_by_count":27},{"year":2012,"cited_by_count":20}],"updated_date":"2025-03-23T18:09:04.136455","created_date":"2016-06-24"}