{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,11,11]],"date-time":"2026-11-11T10:01:35Z","timestamp":1794391295817,"version":"4.9.0"},"publisher-location":"Berlin, Heidelberg","reference-count":35,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642226540","type":"print"},{"value":"9783642226557","type":"electronic"}],"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-22655-7_13","type":"book-chapter","created":{"date-parts":[[2011,7,18]],"date-time":"2011-07-18T13:37:43Z","timestamp":1310996263000},"page":"255-280","source":"Crossref","is-referenced-by-count":16,"title":["A Refactoring Constraint Language and Its Application to Eiffel"],"prefix":"10.1007","author":[{"given":"Friedrich","family":"Steimann","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Christian","family":"Kollee","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jens","family":"von Pilgrim","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"13_CR1","doi-asserted-by":"crossref","unstructured":"Andreae, C., Noble, J., Markstrum, S., Millstein, T.D.: A framework for implementing plug-gable type systems. In: Proc. of OOPSLA, pp. 57\u201374 (2006)","DOI":"10.1145\/1167515.1167479"},{"issue":"1","key":"13_CR2","doi-asserted-by":"publisher","first-page":"146","DOI":"10.1109\/69.43410","volume":"1","author":"S. Ceri","year":"1989","unstructured":"Ceri, S., Gottlob, G., Tanca, L.: What you always wanted to know about Datalog (and never dared to ask). IEEE Trans. Knowl.\u00a01(1), 146\u2013166 (1989)","journal-title":"IEEE Trans. Knowl."},{"key":"13_CR3","doi-asserted-by":"crossref","unstructured":"Daniel, B., Dig, D., Garcia, K., Marinov, D.: Automated testing of refactoring engines. In: Proc. of ESEC\/SIGSOFT FSE, pp. 185\u2013194 (2007)","DOI":"10.1145\/1287624.1287651"},{"key":"13_CR4","doi-asserted-by":"crossref","unstructured":"Donovan, A., Kiezun, A., Tschantz, M.S., Ernst, M.D.: Converting Java programs to use generic libraries. In: Proc. of OOPSLA, pp. 15\u201334 (2004)","DOI":"10.1145\/1028976.1028979"},{"key":"13_CR5","unstructured":"Eclipse, http:\/\/www.eclipse.org"},{"key":"13_CR6","unstructured":"ECMA Standard Eiffel: Analysis, Design and Programming Language ECMA-367, 2nd edn. (2006)"},{"key":"13_CR7","unstructured":"EiffelStudio, http:\/\/www.eiffel.com\/products\/studio"},{"key":"13_CR8","volume-title":"Improving the Design of Existing Code","author":"M. Fowler Refactoring","year":"1999","unstructured":"Fowler Refactoring, M.: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)"},{"key":"13_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"71","DOI":"10.1007\/11531142_4","volume-title":"ECOOP 2005 - Object-Oriented Programming","author":"R. Fuhrer","year":"2005","unstructured":"Fuhrer, R., Tip, F., Kie\u017cun, A., Dolby, J., Keller, M.: Efficiently Refactoring Java Applications to Use Generic Libraries. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol.\u00a03586, pp. 71\u201396. Springer, Heidelberg (2005)"},{"key":"13_CR10","unstructured":"Gobo Eiffel Tools and Libraries, http:\/\/www.gobosoft.com"},{"key":"13_CR11","unstructured":"WG Griswold Program Restructuring as an Aid to Software Maintenance PhD Disserta-tion, University of Washington (1992)"},{"key":"13_CR12","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, http:\/\/java.sun.com\/docs\/books\/jls\/"},{"key":"13_CR13","unstructured":"Junker, U.: QUICKXPLAIN: Preferred explanations and relaxations for over-constrained problems. In: Proc of AAAI, pp. 167\u2013172 (2004)"},{"key":"13_CR14","doi-asserted-by":"crossref","unstructured":"Kegel, H., Steimann, F.: Systematically refactoring inheritance to delegation in Java. In: Proc. of ICSE, pp. 431\u2013440 (2008)","DOI":"10.1145\/1368088.1368147"},{"key":"13_CR15","doi-asserted-by":"crossref","unstructured":"Kiezun, A., Ernst, M.D., Tip, F., Fuhrer, R.M.: Refactoring for parameterizing Java classes. In: Proc. of ICSE, pp. 437\u2013446 (2007)","DOI":"10.1109\/ICSE.2007.70"},{"key":"13_CR16","volume-title":"Agile Software Development: Principles, Patterns, and Practices","author":"R. Martin","year":"2003","unstructured":"Martin, R.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Englewood Cliffs (2003)"},{"key":"13_CR17","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/5625.001.0001","volume-title":"with Constraints","author":"K. Marriott","year":"1998","unstructured":"Marriott, K., Stuckey Programming, P.J.: with Constraints. MIT Press, Cambridge (1998)"},{"issue":"4","key":"13_CR18","doi-asserted-by":"publisher","first-page":"247","DOI":"10.1002\/smr.316","volume":"17","author":"T. Mens","year":"2005","unstructured":"Mens, T., Van Eetvelde, N., Demeyer, S., Janssens, D.: Formalizing refactorings with graph transformations. J. Softw. Maint. Evol.\u00a017(4), 247\u2013276 (2005)","journal-title":"J. Softw. Maint. Evol."},{"key":"13_CR19","volume-title":"Object-Oriented Software Construction","author":"B. Meyer","year":"1997","unstructured":"Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall International, Englewood Cliffs (1997)","edition":"2"},{"key":"13_CR20","unstructured":"Meyers, S., Duby, C.K., Reiss, S.P.: Constraining the structure and style of object-oriented programs. In: Proc of PPCP, pp. 200\u2013209 (1993)"},{"key":"13_CR21","unstructured":"Opdyke, W.: Refactoring Object-Oriented Frameworks. PhD Dissertation, University of Illinois at Urbana-Champaign (1992)"},{"key":"13_CR22","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer, M., Ekman, T., de Moor, O.: Sound and extensible renaming for Java. In: Proc. of OOPSLA, pp. 277\u2013294 (2008)","DOI":"10.1145\/1449955.1449787"},{"key":"13_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"369","DOI":"10.1007\/978-3-642-03013-0_17","volume-title":"ECOOP 2009 \u2013 Object-Oriented Programming","author":"M. Sch\u00e4fer","year":"2009","unstructured":"Sch\u00e4fer, M., Verbaere, M., Ekman, T., de Moor, O.: Stepping stones over the refactoring rubicon. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol.\u00a05653, pp. 369\u2013393. Springer, Heidelberg (2009)"},{"key":"13_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1007\/978-3-642-14107-2_11","volume-title":"ECOOP 2010 \u2013 Object-Oriented Programming","author":"M. Sch\u00e4fer","year":"2010","unstructured":"Sch\u00e4fer, M., Dolby, J., Sridharan, M., Torlak, E., Tip, F.: Correct refactoring of concurrent java code. In: D\u2019Hondt, T. (ed.) ECOOP 2010. LNCS, vol.\u00a06183, pp. 225\u2013249. Springer, Heidelberg (2010)"},{"key":"13_CR25","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer, M., de Moor, O.: Specifying and implementing refactorings. In: Proc. of OOPSLA, pp. 286\u2013301 (2010)","DOI":"10.1145\/1932682.1869485"},{"key":"13_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"419","DOI":"10.1007\/978-3-642-03013-0_19","volume-title":"ECOOP 2009 \u2013 Object-Oriented Programming","author":"F. Steimann","year":"2009","unstructured":"Steimann, F., Thies, A.: From public to private to absent: Refactoring java programs under constrained accessibility. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol.\u00a05653, pp. 419\u2013443. Springer, Heidelberg (2009)"},{"key":"13_CR27","unstructured":"Steimann, F., von Pilgrim, J.: Refactoring with foresight, http:\/\/www.feu.de\/ps\/docs\/Foresight.pdf"},{"key":"13_CR28","unstructured":"Tamura Cream, N.: Class Library for Constraint Programming in Java, http:\/\/bach.istc.kobe-u.ac.jp\/cream\/"},{"key":"13_CR29","doi-asserted-by":"crossref","unstructured":"Tip, F., Kiezun, A., B\u00e4umer, D.: Refactoring for generalization using type constraints. In: Proc. of OOPSLA, pp. 13\u201326 (2003)","DOI":"10.1145\/949343.949308"},{"key":"13_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-74061-2_1","volume-title":"Static Analysis","author":"F. Tip","year":"2007","unstructured":"Tip, F.: Refactoring using type constraints. In: Riis Nielson, H., Fil\u00e9, G. (eds.) SAS 2007. LNCS, vol.\u00a04634, pp. 1\u201317. Springer, Heidelberg (2007)"},{"key":"13_CR31","volume-title":"Constraint Satisfaction in Logic Programming","author":"P. Hentenryck Van","year":"1989","unstructured":"Van Hentenryck, P.: Constraint Satisfaction in Logic Programming. MIT Press, Cambridge (1989)"},{"key":"13_CR32","doi-asserted-by":"crossref","unstructured":"Verbaere, M., Ettinger, R., de Moor, O.: JunGL: a scripting language for refactoring. In: Proc. of ICSE, pp. 172\u2013181 (2006)","DOI":"10.1145\/1134285.1134311"},{"key":"13_CR33","unstructured":"Xpand, http:\/\/wiki.eclipse.org\/Xpand"},{"key":"13_CR34","unstructured":"Xtext \u2014 Language Development Framework, http:\/\/www.eclipse.org\/Xtext"},{"key":"13_CR35","unstructured":"A Type System Framework for Xtext, http:\/\/eclipselabs.org\/p\/xtext-typesystem"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2011 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-22655-7_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,12]],"date-time":"2019-06-12T22:31:10Z","timestamp":1560378670000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-22655-7_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642226540","9783642226557"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-22655-7_13","relation":{"is-part-of":[{"id-type":"doi","id":"https:\/\/doi.org\/10.1007\/978-3-642-22655-7","asserted-by":"object"}]},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011]]}}}