{"title":"实现Java和Java框架使用的dsl之间的自动跨语言重构","authors":"Philip Mayer, Andreas Schroeder","doi":"10.1145/2541348.2541350","DOIUrl":null,"url":null,"abstract":"Today, software applications are usually not written in just one programming language. In many cases, a general-purpose language such as Java is combined with multiple domain-specific languages (DSLs) for diverse purposes such as system configuration, UI description, or database querying. The artifacts defined in those different languages reference each other, often by name; in most cases these references are essential for the functionality of the overall system. This introduces problems if an artifact is refactored in any single language, since most current refactoring tools are not aware of language-external uses of the artifact. What is therefore needed is extended refactoring support across language boundaries. In this work, we explore the area of cross-language linking and refactoring, and present an approach and tool which we evaluate in a systematic fashion using automated renaming and unit testing on an open-source case study.","PeriodicalId":131474,"journal":{"name":"WRT '13","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":"{\"title\":\"Towards automated cross-language refactorings between Java and DSLs used by Java frameworks\",\"authors\":\"Philip Mayer, Andreas Schroeder\",\"doi\":\"10.1145/2541348.2541350\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Today, software applications are usually not written in just one programming language. In many cases, a general-purpose language such as Java is combined with multiple domain-specific languages (DSLs) for diverse purposes such as system configuration, UI description, or database querying. The artifacts defined in those different languages reference each other, often by name; in most cases these references are essential for the functionality of the overall system. This introduces problems if an artifact is refactored in any single language, since most current refactoring tools are not aware of language-external uses of the artifact. What is therefore needed is extended refactoring support across language boundaries. In this work, we explore the area of cross-language linking and refactoring, and present an approach and tool which we evaluate in a systematic fashion using automated renaming and unit testing on an open-source case study.\",\"PeriodicalId\":131474,\"journal\":{\"name\":\"WRT '13\",\"volume\":\"27 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-10-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"WRT '13\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2541348.2541350\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"WRT '13","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2541348.2541350","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards automated cross-language refactorings between Java and DSLs used by Java frameworks
Today, software applications are usually not written in just one programming language. In many cases, a general-purpose language such as Java is combined with multiple domain-specific languages (DSLs) for diverse purposes such as system configuration, UI description, or database querying. The artifacts defined in those different languages reference each other, often by name; in most cases these references are essential for the functionality of the overall system. This introduces problems if an artifact is refactored in any single language, since most current refactoring tools are not aware of language-external uses of the artifact. What is therefore needed is extended refactoring support across language boundaries. In this work, we explore the area of cross-language linking and refactoring, and present an approach and tool which we evaluate in a systematic fashion using automated renaming and unit testing on an open-source case study.