{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T16:54:06Z","timestamp":1760028846644,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":22,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642030123"},{"type":"electronic","value":"9783642030130"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"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":[[2009]]},"DOI":"10.1007\/978-3-642-03013-0_19","type":"book-chapter","created":{"date-parts":[[2009,7,30]],"date-time":"2009-07-30T10:30:01Z","timestamp":1248949801000},"page":"419-443","source":"Crossref","is-referenced-by-count":42,"title":["From Public to Private to Absent: Refactoring Java Programs under Constrained Accessibility"],"prefix":"10.1007","author":[{"given":"Friedrich","family":"Steimann","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andreas","family":"Thies","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"19_CR1","doi-asserted-by":"crossref","unstructured":"Bouillon, P., Gro\u00dfkinsky, E., Steimann, F.: Controlling accessibility in agile projects with the Access Modifier Modifier. In: Proc. of TOOLS, vol.\u00a046, pp. 41\u201359 (2008)","DOI":"10.1007\/978-3-540-69824-1_4"},{"key":"19_CR2","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":"19_CR3","unstructured":"Eclipse Java Development Tools Version 3.4.1, http:\/\/www.eclipse.org"},{"key":"19_CR4","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M. Fowler","year":"1999","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)"},{"key":"19_CR5","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-05138-2","volume-title":"Essentials of Constraint Programming","author":"T. Fr\u00fchwirth","year":"2003","unstructured":"Fr\u00fchwirth, T., Abdennadher, S.: Essentials of Constraint Programming. Springer, Berlin (2003)"},{"key":"19_CR6","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, http:\/\/java.sun.com\/docs\/books\/jls\/"},{"issue":"6","key":"19_CR7","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1145\/1286821.1286823","volume":"29","author":"C. Grothoff","year":"2007","unstructured":"Grothoff, C., Palsberg, J., Vitek, J.: Encapsulating objects with confined types. ACM Trans. Program. Lang. Syst.\u00a029(6), 32 (2007)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"19_CR8","unstructured":"Grothoff, C.: Introducing: the Java Access Modifier Inference Tool, http:\/\/grothoff.org\/christian\/xtc\/jamit\/"},{"key":"19_CR9","unstructured":"IntelliJ IDEA Version 8, http:\/\/www.jetbrains.com\/idea\/"},{"key":"19_CR10","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":"19_CR11","doi-asserted-by":"crossref","unstructured":"Koved, L., Pistoia, M., Kershenbaum, A.: Access rights analysis for Java. In: Proc. of OOPSLA, pp. 359\u2013372 (2002)","DOI":"10.1145\/582419.582452"},{"key":"19_CR12","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":"19_CR13","unstructured":"Microsoft C# Language Specification v1.2, http:\/\/download.microsoft.com"},{"key":"19_CR14","doi-asserted-by":"crossref","unstructured":"M\u00fcller, P., Poetzsch-Heffter, A.: Kapselung und Methodenbindung: Javas Designprobleme und ihre Korrektur. In: Java-Informations-Tage, pp. 1\u201310 (1998)","DOI":"10.1007\/978-3-642-59984-2_1"},{"key":"19_CR15","unstructured":"NetBeans Integrated Development Environment Version 6.5, http:\/\/www.netbeans.org"},{"key":"19_CR16","unstructured":"Opdyke, W.: Refactoring Object-Oriented Frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign (1992)"},{"issue":"12","key":"19_CR17","doi-asserted-by":"publisher","first-page":"1053","DOI":"10.1145\/361598.361623","volume":"15","author":"D.L. Parnas","year":"1972","unstructured":"Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM\u00a015(12), 1053\u20131058 (1972)","journal-title":"Commun. ACM"},{"key":"19_CR18","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"},{"issue":"7","key":"19_CR19","doi-asserted-by":"publisher","first-page":"689","DOI":"10.1002\/cpe.800","volume":"16","author":"N. Schirmer","year":"2004","unstructured":"Schirmer, N.: Analysing the Java package\/access concepts in Isabelle\/HOL. Concurrency \u2014 Practice and Experience\u00a016(7), 689\u2013706 (2004)","journal-title":"Concurrency \u2014 Practice and Experience"},{"key":"19_CR20","unstructured":"Tamura, N.: Cream: Class Library for Constraint Programming in Java, http:\/\/bach.istc.kobe-u.ac.jp\/cream\/"},{"key":"19_CR21","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":"19_CR22","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)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2009 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-03013-0_19","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,21]],"date-time":"2019-05-21T15:52:28Z","timestamp":1558453948000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03013-0_19"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030123","9783642030130"],"references-count":22,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03013-0_19","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}