{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,7]],"date-time":"2024-09-07T19:35:48Z","timestamp":1725737748671},"publisher-location":"Berlin, Heidelberg","reference-count":30,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642390371"},{"type":"electronic","value":"9783642390388"}],"license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013]]},"DOI":"10.1007\/978-3-642-39038-8_20","type":"book-chapter","created":{"date-parts":[[2013,6,25]],"date-time":"2013-06-25T10:29:00Z","timestamp":1372156140000},"page":"477-501","source":"Crossref","is-referenced-by-count":3,"title":["Really Automatic Scalable Object-Oriented Reengineering"],"prefix":"10.1007","author":[{"given":"Marco","family":"Trudel","sequence":"first","affiliation":[]},{"given":"Carlo A.","family":"Furia","sequence":"additional","affiliation":[]},{"given":"Martin","family":"Nordio","sequence":"additional","affiliation":[]},{"given":"Bertrand","family":"Meyer","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"issue":"2","key":"20_CR1","first-page":"179","volume":"39","author":"B.L. Achee","year":"1997","unstructured":"Achee, B.L., Carver, D.L.: Creating object-oriented designs from legacy FORTRAN code. JSS\u00a039(2), 179\u2013194 (1997)","journal-title":"JSS"},{"issue":"1","key":"20_CR2","doi-asserted-by":"publisher","first-page":"13","DOI":"10.1109\/52.43044","volume":"7","author":"E.J. Chikofsky","year":"1990","unstructured":"Chikofsky, E.J., Cross II, J.H.: Reverse engineering and design recovery: A taxonomy. IEEE Software\u00a07(1), 13\u201317 (1990)","journal-title":"IEEE Software"},{"doi-asserted-by":"crossref","unstructured":"\u00d3 Cinn\u00e9ide, M., Tratt, L., Harman, M., Counsell, S., Moghadam, I.H.: Experimental assessment of software metrics using automated refactoring. In: ESEM, pp. 49\u201358. ACM (2012)","key":"20_CR3","DOI":"10.1145\/2372251.2372260"},{"doi-asserted-by":"crossref","unstructured":"Ellison, C., Rosu, G.: An executable formal semantics of C with applications. In: POPL, pp. 533\u2013544 (2012)","key":"20_CR4","DOI":"10.1145\/2103621.2103719"},{"issue":"2","key":"20_CR5","first-page":"99","volume":"27","author":"M.D. Ernst","year":"2001","unstructured":"Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE TSE\u00a027(2), 99\u2013123 (2001)","journal-title":"IEEE TSE"},{"unstructured":"Fanta, R., Rajlich, V.: Reengineering object-oriented code. In: Proceedings of the International Conference on Software Maintenance, pp. 238\u2013246 (1998)","key":"20_CR6"},{"unstructured":"Fowler, M.: Refactoring: Improving the design of existing code. Addison-Wesley (1999)","key":"20_CR7"},{"key":"20_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"376","DOI":"10.1007\/978-3-540-68073-4_40","volume-title":"High Confidence Software Reuse in Large Systems","author":"W.B. Frakes","year":"2008","unstructured":"Frakes, W.B., Kulczycki, G., Moodliar, N.: An empirical comparison of methods for reengineering procedural software systems to object-oriented systems. In: Mei, H. (ed.) ICSR 2008. LNCS, vol.\u00a05030, pp. 376\u2013389. Springer, Heidelberg (2008)"},{"unstructured":"Gall, H., Klosch, R.: Finding objects in procedural programs: an alternative approach. In: WCRE, pp. 208\u2013216. IEEE (1995)","key":"20_CR9"},{"doi-asserted-by":"crossref","unstructured":"Jacobson, I., Lindstr\u00f6m, F.: Reengineering of old systems to an object-oriented architecture. In: OOPSLA, pp. 340\u2013350. ACM (1991)","key":"20_CR10","DOI":"10.1145\/118014.117980"},{"unstructured":"Kontogiannis, K., Patil, P.: Evidence driven object identification in procedural code. In: STEP, pp. 12\u201321. IEEE (1999)","key":"20_CR11"},{"key":"20_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1007\/978-3-642-00593-0_33","volume-title":"Fundamental Approaches to Software Engineering","author":"L. Kov\u00e1cs","year":"2009","unstructured":"Kov\u00e1cs, L., Voronkov, A.: Finding loop invariants for programs over arrays using a theorem prover. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol.\u00a05503, pp. 470\u2013485. Springer, Heidelberg (2009)"},{"issue":"5","key":"20_CR13","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1002\/smr.4360060503","volume":"6","author":"P.E. Livadas","year":"1994","unstructured":"Livadas, P.E., Johnson, T.: A new approach to finding objects in programs. Journal of Software Maintenance\u00a06(5), 249\u2013260 (1994)","journal-title":"Journal of Software Maintenance"},{"unstructured":"Martin, J., M\u00fcller, H.A.: Strategies for migration from C to Java. In: CSMR, pp. 200\u2013210. IEEE Computer Society (2001)","key":"20_CR14"},{"unstructured":"Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall (1997)","key":"20_CR15"},{"unstructured":"Millham, R.: An investigation: reengineering sequential procedure-driven software into object-oriented event-driven software through UML diagrams. In: COMPSAC, 2002, pp. 731\u2013733 (2002)","key":"20_CR16"},{"unstructured":"Mossienko, M.: Automated Cobol to Java recycling. In: CSMR, pp. 40\u201350. IEEE (2003)","key":"20_CR17"},{"issue":"1","key":"20_CR18","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1145\/2077808.2077825","volume":"3","author":"B.S. Nadera","year":"2012","unstructured":"Nadera, B.S., Chitraprasad, D., Chandra, V.S.S.: The varying faces of a program transformation systems. ACM Inroads\u00a03(1), 49\u201355 (2012)","journal-title":"ACM Inroads"},{"key":"20_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1007\/3-540-45937-5_16","volume-title":"Compiler Construction","author":"G.C. Necula","year":"2002","unstructured":"Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs. In: Nigel Horspool, R. (ed.) CC 2002. LNCS, vol.\u00a02304, pp. 213\u2013228. Springer, Heidelberg (2002)"},{"unstructured":"Newcomb, P., Kotik, G.: Reengineering procedural into object-oriented systems. In: WCRE, pp. 237\u2013249. IEEE (1995)","key":"20_CR20"},{"unstructured":"Novosoft. C2J: a C to Java translator (2001), \n                    \n                      http:\/\/www.novosoft-us.com\/solutions\/product_c2j.shtml","key":"20_CR21"},{"issue":"1","key":"20_CR22","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1109\/52.363168","volume":"12","author":"H. Sneed","year":"1995","unstructured":"Sneed, H.: Planning the reengineering of legacy systems. IEEE Software\u00a012(1), 24\u201334 (1995)","journal-title":"IEEE Software"},{"doi-asserted-by":"crossref","unstructured":"Sneed, H.: Migrating from COBOL to Java. In: ICSM, pp. 1\u20137. IEEE (2010)","key":"20_CR23","DOI":"10.1109\/ICSM.2010.5609583"},{"doi-asserted-by":"crossref","unstructured":"Sneed, H.: Migrating PL\/I code to Java. In: CSMR, pp. 287\u2013296. IEEE (2011)","key":"20_CR24","DOI":"10.1109\/CSMR.2011.35"},{"unstructured":"Tangible Software Solutions. C++ to C# and C++ to Java, \n                    \n                      http:\/\/www.tangiblesoftwaresolutions.com\/","key":"20_CR25"},{"unstructured":"Tilevich, E.: Translating C++ to Java. In: German Java Developers\u2019 Conference Journal. Sun Microsystems Press (1997)","key":"20_CR26"},{"doi-asserted-by":"crossref","unstructured":"Trudel, M., Furia, C.A., Nordio, M., Meyer, B., Oriol, M.: C to O-O translation: Beyond the easy stuff. In: Proceedings of WCRE, pp. 19\u201328. IEEE (2012)","key":"20_CR27","DOI":"10.1109\/WCRE.2012.12"},{"doi-asserted-by":"crossref","unstructured":"Wei, Y., Furia, C.A., Kazmin, N., Meyer, B.: Inferring better contracts. In: ICSE, pp. 191\u2013200. ACM (2011)","key":"20_CR28","DOI":"10.1145\/1985793.1985820"},{"unstructured":"Yeh, A., Harris, D., Reubenstein, H.: Recovering abstract data types and object instances from a conventional procedural language. In: WCRE, pp. 227\u2013236 (1995)","key":"20_CR29"},{"doi-asserted-by":"crossref","unstructured":"Zhong, H., Thummalapenta, S., Xie, T., Zhang, L., Wang, Q.: Mining API mapping for language migration. In: ICSE, pp. 195\u2013204 (2010)","key":"20_CR30","DOI":"10.1145\/1806799.1806831"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2013 \u2013 Object-Oriented Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-39038-8_20","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,19]],"date-time":"2019-05-19T21:38:53Z","timestamp":1558301933000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-39038-8_20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013]]},"ISBN":["9783642390371","9783642390388"],"references-count":30,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-39038-8_20","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2013]]}}}