{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,16]],"date-time":"2025-11-16T06:12:19Z","timestamp":1763273539401,"version":"3.38.0"},"publisher-location":"Berlin, Heidelberg","reference-count":35,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642180224"},{"type":"electronic","value":"9783642180231"}],"license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2011]]},"DOI":"10.1007\/978-3-642-18023-1_6","type":"book-chapter","created":{"date-parts":[[2011,1,17]],"date-time":"2011-01-17T07:16:54Z","timestamp":1295248614000},"page":"222-289","source":"Crossref","is-referenced-by-count":48,"title":["EASY Meta-programming with Rascal"],"prefix":"10.1007","author":[{"given":"Paul","family":"Klint","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tijs","family":"van der Storm","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jurgen","family":"Vinju","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"6_CR1","volume-title":"Compilers: Principles, Techniques and Tools","author":"A.V. Aho","year":"1986","unstructured":"Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1986)"},{"key":"6_CR2","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1109\/WPC.2005.37","volume-title":"Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005)","author":"P. Anderson","year":"2005","unstructured":"Anderson, P., Zarins, M.: The CodeSurfer software understanding platform. In: Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005), pp. 147\u2013148. IEEE, Los Alamitos (2005)"},{"issue":"2","key":"6_CR3","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1145\/1646353.1646374","volume":"53","author":"A. Bessey","year":"2010","unstructured":"Bessey, A., Block, K., Chelf, B., Chou, A., Fulton, B., Hallem, S., Henri- Gros, C., Kamsky, A., McPeak, S., Engler, D.: A few billion lines of code later: using static analysis to find bugs in the real world. ACM Commun.\u00a053(2), 66\u201375 (2010)","journal-title":"ACM Commun."},{"key":"6_CR4","doi-asserted-by":"crossref","first-page":"55","DOI":"10.1016\/S1571-0661(05)82552-6","volume":"15","author":"Peter Borovansk\u00fd","year":"1998","unstructured":"Borovansky, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. In: Kirchner, C., Kirchner, H. (eds.) Proceedings of the 2nd International Workshop on Rewriting Logic and its Applications (WRLA 1998). Electronic Notes in Theoretical Computer Science, vol.\u00a015, pp. 55\u201370 (1998)","journal-title":"Electronic Notes in Theoretical Computer Science"},{"key":"6_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"36","DOI":"10.1007\/978-3-540-73449-9_5","volume-title":"Term Rewriting and Applications","author":"E. Balland","year":"2007","unstructured":"Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol.\u00a04533, pp. 36\u201347. Springer, Heidelberg (2007)"},{"key":"6_CR6","doi-asserted-by":"crossref","first-page":"625","DOI":"10.1109\/ICSE.2004.1317484","volume-title":"Proceedings of the International Conference on Software Engineering (ICSE 2004)","author":"I. Baxter","year":"2004","unstructured":"Baxter, I., Pidgeon, P., Mehlich, M.: DMS: Program transformations for practical scalable software evolution. In: Proceedings of the International Conference on Software Engineering (ICSE 2004), pp. 625\u2013634. IEEE, Los Alamitos (2004)"},{"key":"6_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1007\/3-540-45306-7_26","volume-title":"Compiler Construction","author":"M.G.J. Brand van den","year":"2001","unstructured":"van den Brand, M.G.J., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-environment: A Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol.\u00a02027, pp. 365\u2013370. Springer, Heidelberg (2001)"},{"key":"6_CR8","first-page":"807","volume-title":"Proceedings of the 28th International Conference on Software Engineering, ICSE 2006","author":"D. Beyer","year":"2006","unstructured":"Beyer, D.: Relational programming with crocopat. In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, pp. 807\u2013810. ACM, New York (2006)"},{"issue":"2","key":"6_CR9","doi-asserted-by":"publisher","first-page":"137","DOI":"10.1109\/TSE.2005.23","volume":"31","author":"D. Beyer","year":"2005","unstructured":"Beyer, D., Noack, A., Lewerentz, C.: Efficient relational calculation for software analysis. IEEE Trans. Software Engineering\u00a031(2), 137\u2013149 (2005)","journal-title":"IEEE Trans. Software Engineering"},{"issue":"2","key":"6_CR10","doi-asserted-by":"publisher","first-page":"152","DOI":"10.1145\/941566.941568","volume":"12","author":"M.G.J. Brand van den","year":"2003","unstructured":"van den Brand, M.G.J., Klint, P., Vinju, J.J.: Term rewriting with traversal functions. ACM Transactions on Software Engineering Methodology\u00a012(2), 152\u2013190 (2003)","journal-title":"ACM Transactions on Software Engineering Methodology"},{"issue":"1-2","key":"6_CR11","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1016\/j.scico.2007.11.003","volume":"72","author":"M. Bravenboer","year":"2008","unstructured":"Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego\/ XT 0.17. A language and toolset for program transformation. Science of Computer Programming\u00a072(1-2), 52\u201370 (2008)","journal-title":"Science of Computer Programming"},{"key":"6_CR12","unstructured":"Dams, D., Namjoshi, K.S.: Orion: High-precision methods for static error analysis of C and C++ programs. Technical report. Bell Labs, Bell Labs Technical Memorandum ITD-04-45263Z (2004)"},{"issue":"3","key":"6_CR13","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1016\/j.scico.2006.04.002","volume":"61","author":"J.R. Cordy","year":"2006","unstructured":"Cordy, J.R.: The TXL source transformation language. Science of Computer Programming\u00a061(3), 190\u2013210 (2006)","journal-title":"Science of Computer Programming"},{"issue":"4","key":"6_CR14","doi-asserted-by":"publisher","first-page":"371","DOI":"10.1002\/(SICI)1097-024X(19980410)28:4<371::AID-SPE154>3.0.CO;2-1","volume":"28","author":"L.M.G. Feijs","year":"1998","unstructured":"Feijs, L.M.G., Krikhaar, R., Ommering, R.C.: A relational approach to support software architecture analysis. Software Practice and Experience\u00a028(4), 371\u2013400 (1998)","journal-title":"Software Practice and Experience"},{"key":"6_CR15","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1109\/WCRE.2008.34","volume-title":"Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008)","author":"R.C. Holt","year":"2008","unstructured":"Holt, R.C.: Grokking software architecture. In: Proceedings of the 15th Working Conference on Reverse Engineering (WCRE 2008), pp. 5\u201314. IEEE, Los Alamitos (2008)"},{"issue":"1","key":"6_CR16","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1016\/S0167-6423(02)00109-0","volume":"47","author":"G\u00f6rel Hedin","year":"2003","unstructured":"Hedin, G., Magnusson, E.: The JastAdd system - an aspect-oriented compiler construction system. Science of Computer Programming, 37\u201358 (2003)","journal-title":"Science of Computer Programming"},{"key":"6_CR17","volume-title":"Unix Programmer\u2019s Manual","author":"S.C. Johnson","year":"1979","unstructured":"Johnson, S.C.: Lint, a program checker. In: McIlroy, M.D., Kernighan, B.W. (eds.) Unix Programmer\u2019s Manual, 7th edn., vol.\u00a02B. AT&T Bell Laboratories, Murray Hill (1979)","edition":"7"},{"key":"6_CR18","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1145\/93542.93568","volume-title":"Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI 1990","author":"M. Jourdan","year":"1990","unstructured":"Jourdan, M., Parigot, D., Juli\u00e9, C., Durin, O., Le Bellec, C.: Design, implementation and evaluation of the FNC-2 attribute grammar system. In: Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI 1990, pp. 209\u2013222. ACM, New York (1990)"},{"key":"6_CR19","doi-asserted-by":"crossref","unstructured":"Jackson, D.J., Rollins, E.J.: A new model of program dependences for reverse engineering. In: Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering. ACM SIGSOFT Software Engineering Notes, vol.\u00a019, pp. 2\u201310 (1994)","DOI":"10.1145\/195274.195281"},{"key":"6_CR20","first-page":"6","volume-title":"Proceedings of the 3rd Workshop on Linking Aspect Technology and Evolution, LATE 2007","author":"G. Kniesel","year":"2007","unstructured":"Kniesel, G., Hannemann, J., Rho, T.: A comparison of logic-based infrastructures for concern detection and extraction. In: Proceedings of the 3rd Workshop on Linking Aspect Technology and Evolution, LATE 2007, p. 6. ACM, New York (2007)"},{"issue":"2","key":"6_CR21","doi-asserted-by":"publisher","first-page":"176","DOI":"10.1145\/151257.151260","volume":"2","author":"P. Klint","year":"1993","unstructured":"Klint, P.: A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology\u00a02(2), 176\u2013201 (1993)","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"6_CR22","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1109\/WPC.2003.1199184","volume-title":"Proceedings of the 11th International Workshop on Program Comprehension (IWPC 2003)","author":"P. Klint","year":"2003","unstructured":"Klint, P.: How understanding and restructuring differ from compiling\u2014a rewriting perspective. In: Proceedings of the 11th International Workshop on Program Comprehension (IWPC 2003), pp. 2\u201312. IEEE Computer Society, Los Alamitos (2003)"},{"key":"6_CR23","unstructured":"Klint, P.: Using Rscript for software analysis. In: Working Session on Query Technologies and Applications for Program Comprehension, QTAPC 2008 (2008)"},{"key":"6_CR24","first-page":"168","volume-title":"IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2009)","author":"P. Klint","year":"2009","unstructured":"Klint, P., van der Storm, T., Vinju, J.J.: RASCAL: A domain specific language for source code analysis and manipulation. In: IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2009), pp. 168\u2013177. IEEE Computer Society, Los Alamitos (2009)"},{"key":"6_CR25","unstructured":"Klint, P., van der Storm, T., Vinju, J.: DSL tools: Less maintenance? In: Preliminary Proceedings of the Tenth Workshop on Language Descriptions Tools and Applications LDTA 2010, March 27-28 (2010)"},{"key":"6_CR26","unstructured":"Krikhaar, R.L.: Software Architecture Reconstruction. PhD thesis. University of Amsterdam (1999)"},{"issue":"2","key":"6_CR27","doi-asserted-by":"crossref","first-page":"132","DOI":"10.1016\/S1571-0661(04)80924-1","volume":"44","author":"Ralf L\u00e4mmel","year":"2001","unstructured":"L\u00e4mmel, R., Riedewald, G.: Prological Language Processing. In: Proceedings of the First Workshop on Language Descriptions, Tools and Applications (LDTA 2001), Genova, Italy, April 7 (2001); van den Brand, M., Parigot, D.: Satellite event of ETAPS 2001. ENTCS, vol. 44. Elsevier Science, Amsterdam (April 2001)","journal-title":"Electronic Notes in Theoretical Computer Science"},{"issue":"3","key":"6_CR28","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"SE-12","author":"T.J. McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering\u00a0SE-12(3), 308\u2013320 (1976)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"6_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1007\/978-3-540-88643-3_3","volume-title":"Generative and Transformational Techniques in Software Engineering II","author":"O. Moor de","year":"2008","unstructured":"de Moor, O., Sereni, D., Verbaere, M., Hajiyev, E., Avgustinov, P., Ekman, T., Ongkingco, N., Tibble, J.: QL: Object-oriented queries made easy. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol.\u00a05235, pp. 78\u2013133. Springer, Heidelberg (2008)"},{"key":"6_CR30","doi-asserted-by":"crossref","unstructured":"M\u00fcller, H., Klashinsky, K.: Rigi \u2013 a system for programming-in-the-large. In: Proceedings of the 10th International Conference on Software Engineering (ICSE 10), pp. 80\u201386 (April 1988)","DOI":"10.1109\/ICSE.1988.93690"},{"key":"6_CR31","unstructured":"Parr, T.: The Definitive ANTLR Reference: Building Domain-Specific Languages. Pragmatic Bookshelf (2007)"},{"key":"6_CR32","unstructured":"Speicher, D., Rho, T., Kniesel, G.: Jtransformer - eine logikbasierte infrastruktur zur codeanalyse. In: Workshop Software-Reengineering, WSR 2007, May 02-04 (2007)"},{"issue":"3","key":"6_CR33","first-page":"121","volume":"3","author":"F. Tip","year":"1995","unstructured":"Tip, F.: A survey of program slicing techniques. Journal of Programming Languages\u00a03(3), 121\u2013189 (1995)","journal-title":"Journal of Programming Languages"},{"issue":"4","key":"6_CR34","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","volume":"SE-10","author":"M. Weiser","year":"1984","unstructured":"Weiser, M.: Program slicing. IEEE Transactions on Software Engineering\u00a0SE-10(4), 352\u2013357 (1984)","journal-title":"IEEE Transactions on Software Engineering"},{"issue":"1-2","key":"6_CR35","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1016\/j.scico.2009.07.004","volume":"75","author":"E. Wyk Van","year":"2010","unstructured":"Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: An extensible attribute grammar system. Sci. Comput. Program.\u00a075(1-2), 39\u201354 (2010)","journal-title":"Sci. Comput. Program."}],"container-title":["Lecture Notes in Computer Science","Generative and Transformational Techniques in Software Engineering III"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-18023-1_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,1]],"date-time":"2025-03-01T21:32:46Z","timestamp":1740864766000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-18023-1_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642180224","9783642180231"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-18023-1_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2011]]}}}