{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,27]],"date-time":"2026-06-27T01:56:57Z","timestamp":1782525417816,"version":"3.54.5"},"publisher-location":"Berlin, Heidelberg","reference-count":35,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642141065","type":"print"},{"value":"9783642141072","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-14107-2_11","type":"book-chapter","created":{"date-parts":[[2010,6,29]],"date-time":"2010-06-29T12:10:14Z","timestamp":1277813414000},"page":"225-249","source":"Crossref","is-referenced-by-count":28,"title":["Correct Refactoring of Concurrent Java Code"],"prefix":"10.1007","author":[{"given":"Max","family":"Sch\u00e4fer","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Julian","family":"Dolby","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Manu","family":"Sridharan","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Emina","family":"Torlak","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Frank","family":"Tip","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"11_CR1","unstructured":"Apache Ant, http:\/\/ant.apache.org"},{"key":"11_CR2","doi-asserted-by":"crossref","unstructured":"Balaban, I., Tip, F., Fuhrer, R.: Refactoring support for class library migration. In: OOPSLA, pp. 265\u2013279 (2005)","DOI":"10.1145\/1094811.1094832"},{"key":"11_CR3","doi-asserted-by":"crossref","unstructured":"Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanovi\u0107, D., Van Drunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA (2006)","DOI":"10.1145\/1167473.1167488"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Burke, M.G., Choi, J.-D., Fink, S., Grove, D., Hind, M., Sarkar, V., Serrano, M.J., Sreedhar, V.C., Srinivasan, H., Whaley, J.: The Jalape\u00f1o dynamic optimizing compiler for Java. In: JAVA 1999, pp. 129\u2013141 (1999)","DOI":"10.1145\/304065.304113"},{"key":"11_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"331","DOI":"10.1007\/978-3-540-71316-6_23","volume-title":"Programming Languages and Systems","author":"P. Cenciarelli","year":"2007","unstructured":"Cenciarelli, P., Knapp, A., Sibilio, E.: The Java Memory Model: Operationally, Denotationally, Axiomatically. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol.\u00a04421, pp. 331\u2013346. Springer, Heidelberg (2007)"},{"key":"11_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0019411","volume-title":"Automated and Algorithmic Debugging","author":"J. Cheng","year":"1993","unstructured":"Cheng, J.: Slicing Concurrent Programs: A Graph-Theoretical Approach. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol.\u00a0749. Springer, Heidelberg (1993)"},{"key":"11_CR7","doi-asserted-by":"crossref","unstructured":"Dig, D., Marrero, J., Ernst, M.D.: Refactoring sequential Java code for concurrency via concurrent libraries. In: ICSE, pp. 397\u2013407 (2009)","DOI":"10.1109\/ICSE.2009.5070539"},{"key":"11_CR8","doi-asserted-by":"crossref","unstructured":"Dig, D., Tarce, M., Radoi, C., Minea, M., Johnson, R.: RELOOPER: Refactoring for Loop Parallelism in Java. In: OOPSLA Companion (2009)","DOI":"10.1145\/1639950.1640018"},{"issue":"10","key":"11_CR9","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1297105.1297029","volume":"42","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd Extensible Java Compiler. SIGPLAN Notices\u00a042(10), 1\u201318 (2007)","journal-title":"SIGPLAN Notices"},{"issue":"1-3","key":"11_CR10","doi-asserted-by":"publisher","first-page":"14","DOI":"10.1016\/j.scico.2007.02.003","volume":"69","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd system \u2014 modular extensible compiler construction. Science of Computer Programming\u00a069(1-3), 14\u201326 (2007)","journal-title":"Science of Computer Programming"},{"key":"11_CR11","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":"11_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","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: Black, A.P. (ed.) ECOOP 2005. LNCS, vol.\u00a03586, pp. 71\u201396. Springer, Heidelberg (2005)"},{"key":"11_CR13","volume-title":"The Java Language Specification","author":"J. Gosling","year":"2005","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. PrenticeHall, Englewood Cliffs (2005)","edition":"3"},{"key":"11_CR14","unstructured":"Griswold, W.G.: Program Restructuring as an Aid to Software Maintenance. Ph.D. thesis, University of Washington (1991)"},{"key":"11_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"476","DOI":"10.1007\/11813040_32","volume-title":"FM 2006: Formal Methods","author":"T.Q. Huynh","year":"2006","unstructured":"Huynh, T.Q., Roychoudhury, A.: A memory model sensitive checker for C#. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol.\u00a04085, pp. 476\u2013491. Springer, Heidelberg (2006)"},{"key":"11_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"27","DOI":"10.1007\/978-3-540-70592-5_3","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"J. \u0160ev\u010d\u00edk","year":"2008","unstructured":"\u0160ev\u010d\u00edk, J., Aspinall, D.: On Validity of Program Transformations in the Java Memory Model. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol.\u00a05142, pp. 27\u201351. Springer, Heidelberg (2008)"},{"key":"11_CR17","doi-asserted-by":"crossref","unstructured":"Kegel, H., Steimann, F.: Systematically Refactoring Inheritance to Delegation in Java. In: ICSE, pp. 431\u2013440 (2008)","DOI":"10.1145\/1368088.1368147"},{"key":"11_CR18","doi-asserted-by":"crossref","unstructured":"Kie\u017cun, A., Ernst, M., Tip, F., Fuhrer, R.: Refactoring for parameterizing Java classes. In: ICSE, pp. 437\u2013446 (2007)","DOI":"10.1109\/ICSE.2007.70"},{"key":"11_CR19","doi-asserted-by":"crossref","unstructured":"Krinke, J.: Static Slicing of Threaded Programs. SIGPLAN Not.\u00a033(7) (1998)","DOI":"10.1145\/277633.277638"},{"issue":"7","key":"11_CR20","doi-asserted-by":"publisher","first-page":"558","DOI":"10.1145\/359545.359563","volume":"21","author":"L. Lamport","year":"1978","unstructured":"Lamport, L.: Time, clocks, and the ordering of events in a distributed system. ACM Commun.\u00a021(7), 558\u2013565 (1978)","journal-title":"ACM Commun."},{"key":"11_CR21","unstructured":"Lea, D.: The JSR-133 Cookbook for Compiler Writers (2008), http:\/\/gee.cs.oswego.edu\/dl\/jmm\/cookbook.html"},{"key":"11_CR22","first-page":"378","volume-title":"POPL","author":"J. Manson","year":"2005","unstructured":"Manson, J., Pugh, W., Adve, S.V.: The Java Memory Model. In: POPL, pp. 378\u2013391. ACM, New York (2005)"},{"key":"11_CR23","doi-asserted-by":"crossref","unstructured":"Markstrum, S., Fuhrer, R.M., Millstein, T.D.: Towards concurrency refactoring for X10. In: PPOPP, pp. 303\u2013304 (2009)","DOI":"10.1145\/1594835.1504226"},{"key":"11_CR24","volume-title":"POPL","author":"M. Naik","year":"2007","unstructured":"Naik, M., Aiken, A.: Conditional must not aliasing for static race detection. In: POPL. ACM Press, New York (2007)"},{"key":"11_CR25","doi-asserted-by":"crossref","unstructured":"Nilsson-Nyman, E., Ekman, T., Hedin, G., Magnusson, E.: Declarative Intraprocedural Flow Analysis of Java Source Code. In: LDTA (2008)","DOI":"10.1016\/j.entcs.2009.09.046"},{"key":"11_CR26","unstructured":"Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University Of Illinois at Urbana-Champaign (1992)"},{"key":"11_CR27","volume-title":"OOPSLA","author":"M. Sch\u00e4fer","year":"2008","unstructured":"Sch\u00e4fer, M., Ekman, T., de Moor, O.: Sound and Extensible Renaming for Java. In: Kiczales, G. (ed.) OOPSLA. ACM Press, New York (2008)"},{"key":"11_CR28","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 \u2013 Lightweight Language Extensions to Easily Realise Refactorings. In: Drossopoulou, S. (ed.) ECOOP 2009 \u2013 Object-Oriented Programming. LNCS, vol.\u00a05653, pp. 369\u2013393. Springer, Heidelberg (2009)"},{"key":"11_CR29","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 \u2013 Object-Oriented Programming. LNCS, vol.\u00a05653, pp. 419\u2013443. Springer, Heidelberg (2009)"},{"key":"11_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":"11_CR31","doi-asserted-by":"crossref","unstructured":"Tip, F., Kie\u017cun, A., B\u00e4umer, D.: Refactoring for generalization using type constraints. In: OOPSLA, pp. 13\u201326 (2003)","DOI":"10.1145\/949343.949308"},{"key":"11_CR32","doi-asserted-by":"crossref","unstructured":"Torlak, E., Vaziri, M., Dolby, J.: MemSAT: Checking Axiomatic Specifications of Memory Models. In: PLDI 2010 (2010)","DOI":"10.1145\/1806596.1806635"},{"key":"11_CR33","unstructured":"Watson, T.J.: Libraries for Analysis (WALA), http:\/\/wala.sf.net"},{"key":"11_CR34","doi-asserted-by":"crossref","unstructured":"Wloka, J., Sridharan, M., Tip, F.: Refactoring for Reentrancy. In: ESEC\/FSE (2009)","DOI":"10.1145\/1595696.1595723"},{"key":"11_CR35","doi-asserted-by":"crossref","unstructured":"Zhao, J.: Multithreaded Dependence Graphs for Concurrent Java Program. In: Int. Symp. on Softw. Eng. for Parallel and Distr. Syst. (1999)","DOI":"10.1109\/PDSE.1999.779735"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2010 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-14107-2_11.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,24]],"date-time":"2020-11-24T02:47:39Z","timestamp":1606186059000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-14107-2_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642141065","9783642141072"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-14107-2_11","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010]]}}}