{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,10]],"date-time":"2025-04-10T04:26:25Z","timestamp":1744259185953,"version":"3.40.4"},"publisher-location":"Berlin, Heidelberg","reference-count":48,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642340048"},{"type":"electronic","value":"9783642340055"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-34005-5_2","type":"book-chapter","created":{"date-parts":[[2012,10,3]],"date-time":"2012-10-03T02:33:39Z","timestamp":1349231619000},"page":"10-30","source":"Crossref","is-referenced-by-count":1,"title":["Program Analysis Scenarios in Rascal"],"prefix":"10.1007","author":[{"given":"Mark","family":"Hills","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Paul","family":"Klint","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jurgen J.","family":"Vinju","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"2_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1007\/3-540-49538-X_2","volume-title":"ECOOP \u201995 - Object-Oriented Programming","author":"O. Agesen","year":"1995","unstructured":"Agesen, O.: The Cartesian Product Algorithm: Simple and Precise Type Inference of Parametric Polymorphism. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol.\u00a0952, pp. 2\u201326. Springer, Heidelberg (1995)"},{"key":"2_CR2","doi-asserted-by":"crossref","unstructured":"Anderson, P., Zarins, M.: The CodeSurfer Software Understanding Platform. In: Proceedings of IWPC 2005, pp. 147\u2013148. IEEE (2005)","DOI":"10.1109\/WPC.2005.37"},{"key":"2_CR3","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":"2_CR4","unstructured":"Bergstra, J., Heering, J., Klint, P.: Algebraic Specification. ACM Press (1989)"},{"key":"2_CR5","doi-asserted-by":"crossref","unstructured":"Beyer, D.: Relational programming with CrocoPat. In: Proceedings of ICSE 2006, pp. 807\u2013810. ACM Press (2006)","DOI":"10.1145\/1134285.1134420"},{"issue":"1-2","key":"2_CR6","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":"2_CR7","unstructured":"Camphuijsen, P.: Soft typing and analyses of PHP programs. Master\u2019s thesis, Universiteit Utrecht (2007)"},{"key":"2_CR8","doi-asserted-by":"crossref","unstructured":"Ceri, S., Gottlob, G., Tanca, L.: Logic programming and databases. Springer-Verlag New York, Inc. (1990)","DOI":"10.1007\/978-3-642-83952-8"},{"key":"2_CR9","doi-asserted-by":"crossref","unstructured":"Charles, P., Fuhrer, R.M., Sutton Jr., S.M., Duesterwald, E., Vinju, J.J.: Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse. In: Proceedings of OOPSLA 2009, pp. 191\u2013206. ACM Press (2009)","DOI":"10.1145\/1639949.1640104"},{"key":"2_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1007\/3-540-44881-0_15","volume-title":"Rewriting Techniques and Applications","author":"F. Chen","year":"2003","unstructured":"Chen, F., Ro\u015fu, G., Venkatesan, R.P.: Rule-Based Analysis of Dimensional Safety. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol.\u00a02706, pp. 197\u2013207. Springer, Heidelberg (2003)"},{"key":"2_CR11","series-title":"Lecture Notes in Computer Science","volume-title":"All About Maude - A High-Performance Logical Framework","author":"M. Clavel","year":"2007","unstructured":"Clavel, M., Dur\u00e1n, F., Eker, S., Lincoln, P., Mart\u00ed-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol.\u00a04350. Springer, Heidelberg (2007)"},{"issue":"3","key":"2_CR12","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"},{"key":"2_CR13","doi-asserted-by":"crossref","unstructured":"Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL Model Checker. In: Proceedings of WRLA 2002. ENTCS, vol.\u00a071. Elsevier (2002)","DOI":"10.1016\/S1571-0661(05)82534-4"},{"key":"2_CR14","doi-asserted-by":"crossref","unstructured":"Ellison, C., Ro\u015fu, G.: An Executable Formal Semantics of C with Applications. In: Proceedings of POPL 2012, pp. 533\u2013544. ACM Press (2012)","DOI":"10.1145\/2103621.2103719"},{"key":"2_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"501","DOI":"10.1007\/978-3-540-27813-9_46","volume-title":"Computer Aided Verification","author":"A. Farzan","year":"2004","unstructured":"Farzan, A., Chen, F., Meseguer, J., Ro\u015fu, G.: Formal Analysis of Java Programs in JavaFAN. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol.\u00a03114, pp. 501\u2013505. Springer, Heidelberg (2004)"},{"key":"2_CR16","unstructured":"Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (2000)"},{"key":"2_CR17","unstructured":"Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)"},{"issue":"11","key":"2_CR18","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1145\/71605.71607","volume":"24","author":"J. Heering","year":"1989","unstructured":"Heering, J., Hendriks, P., Klint, P., Rekers, J.: The syntax definition formalism SDF - reference manual. SIGPLAN Notices\u00a024(11), 43\u201375 (1989)","journal-title":"SIGPLAN Notices"},{"key":"2_CR19","unstructured":"Hills, M., Chen, F., Ro\u015fu, G.: A Rewriting Logic Approach to Static Checking of Units of Measurement in C. In: Proceedings of RULE 2008. Elsevier (2008) (to appear)"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"Hills, M., \u015eerb\u0103nu\u0163\u0103, T.F., Ro\u015fu, G.: A Rewrite Framework for Language Definitions and for Generation of Efficient Interpreters. In: Proceedings of WRLA 2006. ENTCS, vol.\u00a0176, pp. 215\u2013231. Elsevier (2007)","DOI":"10.1016\/j.entcs.2007.06.017"},{"key":"2_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"228","DOI":"10.1007\/978-3-642-21952-8_17","volume-title":"Objects, Models, Components, Patterns","author":"M. Hills","year":"2011","unstructured":"Hills, M., Klint, P., van der Storm, T., Vinju, J.J.: A Case of Visitor versus Interpreter Pattern. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol.\u00a06705, pp. 228\u2013243. Springer, Heidelberg (2011)"},{"key":"2_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"344","DOI":"10.1007\/978-3-642-28830-2_19","volume-title":"Software Language Engineering","author":"M. Hills","year":"2012","unstructured":"Hills, M., Klint, P., Vinju, J.J.: RLSRunner: Linking Rascal with K for Program Analysis. In: Sloane, A., A\u00dfmann, U. (eds.) SLE 2011. LNCS, vol.\u00a06940, pp. 344\u2013353. Springer, Heidelberg (2012)"},{"key":"2_CR23","unstructured":"Hills, M., Klint, P., Vinju, J.J.: Scripting a Refactoring with Rascal and Eclipse. In: Proceedings of WDT 2012. ACM Press (to appear, 2012)"},{"key":"2_CR24","unstructured":"Hills, M., Ro\u015fu, G.: A Rewriting Logic Semantics Approach To Modular Program Analysis. In: Proceedings of RTA 2010. Leibniz International Proceedings in Informatics, vol.\u00a06, pp. 151\u2013160. Schloss Dagstuhl - Leibniz Center of Informatics (2010)"},{"issue":"4","key":"2_CR25","doi-asserted-by":"publisher","first-page":"848","DOI":"10.1145\/325478.325519","volume":"21","author":"M. Hind","year":"1999","unstructured":"Hind, M., Burke, M.G., Carini, P.R., Choi, J.-D.: Interprocedural Pointer Alias Analysis. ACM TOPLAS\u00a021(4), 848\u2013894 (1999)","journal-title":"ACM TOPLAS"},{"key":"2_CR26","doi-asserted-by":"crossref","unstructured":"Holt, R.C.: Grokking Software Architecture. In: Proceedings of WCRE 2008, pp. 5\u201314. IEEE (2008)","DOI":"10.1109\/WCRE.2008.34"},{"key":"2_CR27","doi-asserted-by":"crossref","unstructured":"Huang, Y.-W., Yu, F., Hang, C., Tsai, C.-H., Lee, D.-T., Kuo, S.-Y.: Securing Web Application Code by Static Analysis and Runtime Protection. In: Proceedings of WWW 2004, pp. 40\u201352. ACM Press (2004)","DOI":"10.1145\/988672.988679"},{"key":"2_CR28","doi-asserted-by":"crossref","unstructured":"Huang, Y.-W., Yu, F., Hang, C., Tsai, C.-H., Lee, D.T., Kuo, S.-Y.: Verifying Web Applications Using Bounded Model Checking. In: Proceedings of DSN 2004, pp. 199\u2013208. IEEE (2004)","DOI":"10.1109\/DSN.2004.1311890"},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"Jovanovic, N., Kruegel, C., Kirda, E.: Precise Alias Analysis for Static Detection of Web Application Vulnerabilities. In: Proceedings of PLAS 2006, pp. 27\u201336. ACM Press (2006)","DOI":"10.1145\/1134744.1134751"},{"key":"2_CR30","doi-asserted-by":"crossref","unstructured":"Jovanovic, N., Kr\u00fcgel, C., Kirda, E.: Pixy: A Static Analysis Tool for Detecting Web Application Vulnerabilities (Short Paper). In: IEEE Symposium on Security and Privacy, pp. 258\u2013263 (2006)","DOI":"10.1109\/SP.2006.29"},{"key":"2_CR31","unstructured":"Klint, P.: Using Rscript for Software Analysis. In: Working Session on Query Technologies and Applications for Program Comprehension, QTAPC 2008 (2008)"},{"key":"2_CR32","doi-asserted-by":"crossref","unstructured":"Klint, P., van der Storm, T., Vinju, J.: RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation. In: Proceedings of SCAM 2009, pp. 168\u2013177. IEEE (2009)","DOI":"10.1109\/SCAM.2009.28"},{"key":"2_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"222","DOI":"10.1007\/978-3-642-18023-1_6","volume-title":"Generative and Transformational Techniques in Software Engineering III","author":"P. Klint","year":"2011","unstructured":"Klint, P., van der Storm, T., Vinju, J.: EASY Meta-programming with Rascal. In: Fernandes, J.M., L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol.\u00a06491, pp. 222\u2013289. Springer, Heidelberg (2011)"},{"issue":"1","key":"2_CR34","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1016\/0304-3975(92)90182-F","volume":"96","author":"J. Meseguer","year":"1992","unstructured":"Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science\u00a096(1), 73\u2013155 (1992)","journal-title":"Theoretical Computer Science"},{"issue":"3","key":"2_CR35","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1016\/j.tcs.2006.12.018","volume":"373","author":"J. Meseguer","year":"2007","unstructured":"Meseguer, J., Ro\u015fu, G.: The rewriting logic semantics project. Theoretical Computer Science\u00a0373(3), 213\u2013237 (2007)","journal-title":"Theoretical Computer Science"},{"key":"2_CR36","unstructured":"Moreau, P.-E.: A choice-point library for backtrack programming. In: JICSLP 1998 Post-Conference Workshop on Implementation Technologies for Programming Languages based on Logic (1998)"},{"key":"2_CR37","unstructured":"Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)"},{"key":"2_CR38","unstructured":"Opdyke, W.F., Johnson, R.E.: Refactoring: An aid in designing application frameworks and evolving object-oriented systems. In: Proceedings of Symposium on Object-Oriented Programming Emphasizing Practical Applications (1990)"},{"key":"2_CR39","unstructured":"Parr, T.: The Definitive ANTLR Reference: Building Domain-Specific Languages. Pragmatic Bookshelf (2007)"},{"key":"2_CR40","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/978-3-642-17796-5_14","volume-title":"Algebraic Methodology and Software Technology","author":"A. Riesco","year":"2011","unstructured":"Riesco, A., Verdejo, A., Mart\u00ed-Oliet, N.: A Complete Declarative Debugger for Maude. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol.\u00a06486, pp. 216\u2013225. Springer, Heidelberg (2011)"},{"key":"2_CR41","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"124","DOI":"10.1007\/978-3-642-19861-8_8","volume-title":"Compiler Construction","author":"A. Rimsa","year":"2011","unstructured":"Rimsa, A., d\u2019Amorim, M., Pereira, F.M.Q.: Tainted Flow Analysis on e-SSA-Form Programs. In: Knoop, J. (ed.) CC 2011. LNCS, vol.\u00a06601, pp. 124\u2013143. Springer, Heidelberg (2011)"},{"key":"2_CR42","doi-asserted-by":"crossref","unstructured":"Ro\u015fu, G., Chen, F.: Certifying Measurement Unit Safety Policy. In: Proceedings of ASE 2003, pp. 304\u2013309. IEEE (2003)","DOI":"10.1109\/ASE.2003.1240326"},{"issue":"6","key":"2_CR43","doi-asserted-by":"publisher","first-page":"397","DOI":"10.1016\/j.jlap.2010.03.012","volume":"79","author":"G. Ro\u015fu","year":"2010","unstructured":"Ro\u015fu, G., \u015eerb\u0103nu\u0163\u0103, T.F.: An Overview of the K Semantic Framework. Journal of Logic and Algebraic Programming\u00a079(6), 397\u2013434 (2010)","journal-title":"Journal of Logic and Algebraic Programming"},{"key":"2_CR44","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"248","DOI":"10.1007\/978-3-540-45070-2_12","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"N. Sch\u00e4rli","year":"2003","unstructured":"Sch\u00e4rli, N., Ducasse, S., Nierstrasz, O., Black, A.P.: Traits: Composable Units of Behaviour. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 248\u2013274. Springer, Heidelberg (2003)"},{"key":"2_CR45","doi-asserted-by":"crossref","unstructured":"van den Bos, J., Hills, M., Klint, P., van der Storm, T., Vinju, J.J.: Rascal: From Algebraic Specification to Meta-Programming. In: Proceedings of AMMSE 2011. EPTCS, vol.\u00a056, pp. 15\u201332 (2011)","DOI":"10.4204\/EPTCS.56.2"},{"key":"2_CR46","doi-asserted-by":"crossref","unstructured":"van den Brand, M., Bruntink, M., Economopoulos, G., de Jong, H., Klint, P., Kooiker, T., van der Storm, T., Vinju, J.: Using The Meta-environment for Maintenance and Renovation. In: Proceedings of CSMR 2007, pp. 331\u2013332. IEEE (2007)","DOI":"10.1109\/CSMR.2007.52"},{"key":"2_CR47","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1002\/(SICI)1097-024X(200003)30:3<259::AID-SPE298>3.0.CO;2-Y","volume":"30","author":"M. Brand van den","year":"2000","unstructured":"van den Brand, M., de Jong, H., Klint, P., Olivier, P.: Efficient Annotated Terms. Software, Practice & Experience\u00a030, 259\u2013291 (2000)","journal-title":"Software, Practice & Experience"},{"key":"2_CR48","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 den van","year":"2001","unstructured":"den van 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)"}],"container-title":["Lecture Notes in Computer Science","Rewriting Logic and Its Applications"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-34005-5_2.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T22:15:16Z","timestamp":1744236916000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-34005-5_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642340048","9783642340055"],"references-count":48,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-34005-5_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}