{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T20:48:09Z","timestamp":1743022089502,"version":"3.40.3"},"publisher-location":"Cham","reference-count":31,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030614690"},{"type":"electronic","value":"9783030614706"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-61470-6_9","type":"book-chapter","created":{"date-parts":[[2020,10,26]],"date-time":"2020-10-26T18:03:12Z","timestamp":1603735392000},"page":"138-158","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Refactoring and Active Object Languages"],"prefix":"10.1007","author":[{"given":"Volker","family":"Stolz","sequence":"first","affiliation":[]},{"given":"Violet Ka I","family":"Pun","sequence":"additional","affiliation":[]},{"given":"Rohit","family":"Gheyi","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,10,27]]},"reference":[{"key":"9_CR1","unstructured":"Swanson, E.B.: The dimensions of maintenance. In: Proceedings of the International Conference on Software Engineering, ICSE. IEEE (1976)"},{"key":"9_CR2","unstructured":"Opdyke, W.: Refactoring object-oriented frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign (1992)"},{"key":"9_CR3","series-title":"Addison Wesley Object Technology Series","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 Object Technology Series. Addison-Wesley, Boston (1999)"},{"key":"9_CR4","unstructured":"Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley Longman Publishing Company, Inc. (2000)"},{"key":"9_CR5","doi-asserted-by":"crossref","unstructured":"Sch\u00e4fer, M., de Moor, O.: Specifying and implementing refactorings. In: Object-Oriented Programming, Systems, Languages, and Applications (2010)","DOI":"10.1145\/1869459.1869485"},{"key":"9_CR6","doi-asserted-by":"crossref","unstructured":"Daniel, B., Dig, D., Garcia, K., Marinov, D.: Automated testing of refactoring engines. In: Proceedings of the Foundations of Software Engineering. ACM (2007)","DOI":"10.1145\/1287624.1287651"},{"issue":"2","key":"9_CR7","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1109\/TSE.2012.19","volume":"39","author":"G Soares","year":"2013","unstructured":"Soares, G., Gheyi, R., Massoni, T.: Automated behavioral testing of refactoring engines. IEEE Trans. Softw. Eng. 39(2), 147\u2013162 (2013)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"9_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"517","DOI":"10.1007\/978-3-319-47166-2_36","volume-title":"Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques","author":"AM Eilertsen","year":"2016","unstructured":"Eilertsen, A.M., Bagge, A.H., Stolz, V.: Safer refactorings. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 517\u2013531. Springer, Cham (2016). \nhttps:\/\/doi.org\/10.1007\/978-3-319-47166-2_36"},{"key":"9_CR9","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/j.entcs.2005.03.002","volume":"130","author":"R Gheyi","year":"2005","unstructured":"Gheyi, R., Massoni, T., Borba, P.: An abstract equivalence notion for object models. Electron. Notes Theor. Comput. Sci. 130, 3\u201321 (2005)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"9_CR10","doi-asserted-by":"crossref","unstructured":"Boer, F.D., et al.: A survey of active object languages. ACM Comput. Surv. 50(5), 76:1\u201376:39 (2017)","DOI":"10.1145\/3122848"},{"key":"9_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"142","DOI":"10.1007\/978-3-642-25271-6_8","volume-title":"Formal Methods for Components and Objects","author":"EB Johnsen","year":"2011","unstructured":"Johnsen, E.B., H\u00e4hnle, R., Sch\u00e4fer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142\u2013164. Springer, Heidelberg (2011). \nhttps:\/\/doi.org\/10.1007\/978-3-642-25271-6_8"},{"key":"9_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"471","DOI":"10.1007\/978-3-642-36946-9_16","volume-title":"Aliasing in Object-Oriented Programming. Types, Analysis and Verification","author":"Y Welsch","year":"2013","unstructured":"Welsch, Y., Sch\u00e4fer, J., Poetzsch-Heffter, A.: Location types for safe programming with near and far references. In: Clarke, D., Noble, J., Wrigstad, T. (eds.) Aliasing in Object-Oriented Programming. Types, Analysis and Verification. LNCS, vol. 7850, pp. 471\u2013500. Springer, Heidelberg (2013). \nhttps:\/\/doi.org\/10.1007\/978-3-642-36946-9_16"},{"issue":"4","key":"9_CR13","doi-asserted-by":"publisher","first-page":"1013","DOI":"10.1007\/s10270-014-0444-y","volume":"15","author":"E Giachino","year":"2016","unstructured":"Giachino, E., Laneve, C., Lienhardt, M.: A framework for deadlock detection in core ABS. Softw. Syst. Model. 15(4), 1013\u20131048 (2016)","journal-title":"Softw. Syst. Model."},{"key":"9_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"273","DOI":"10.1007\/978-3-642-38592-6_19","volume-title":"Formal Techniques for Distributed Systems","author":"AE Flores-Montoya","year":"2013","unstructured":"Flores-Montoya, A.E., Albert, E., Genaim, S.: May-happen-in-parallel based deadlock analysis for concurrent objects. In: Beyer, D., Boreale, M. (eds.) FMOODS\/FORTE -2013. LNCS, vol. 7892, pp. 273\u2013288. Springer, Heidelberg (2013). \nhttps:\/\/doi.org\/10.1007\/978-3-642-38592-6_19"},{"key":"9_CR15","unstructured":"Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: Proceedings of the International Joint Conference on Artificial Intelligence. Morgan Kaufmann Publishers Inc. (1973)"},{"key":"9_CR16","unstructured":"Johnsen, E.B., Owe, O.: An asynchronous communication model for distributed concurrent objects. In: Software Engineering and Formal Methods. IEEE Computer Society (2004)"},{"key":"9_CR17","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. 6183, pp. 225\u2013249. Springer, Heidelberg (2010). \nhttps:\/\/doi.org\/10.1007\/978-3-642-14107-2_11"},{"key":"9_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1007\/978-3-319-95246-8_2","volume-title":"Principles of Modeling","author":"G Agha","year":"2018","unstructured":"Agha, G., Palmskog, K.: Transforming threads into actors: learning concurrency structure from execution traces. In: Lohstroh, M., Derler, P., Sirjani, M. (eds.) Principles of Modeling. LNCS, vol. 10760, pp. 16\u201337. Springer, Cham (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-319-95246-8_2"},{"key":"9_CR19","unstructured":"Ringdal, P.O.: Automated refactorings of Rust programs. Master\u2019s thesis, Institute for Informatics, University of Oslo, Norway, June 2020"},{"key":"9_CR20","doi-asserted-by":"crossref","unstructured":"Garrido, A., Meseguer, J.: Formal specification and verification of Java refactorings. In: International Workshop on Source Code Analysis and Manipulation. IEEE (2006)","DOI":"10.1109\/SCAM.2006.16"},{"key":"9_CR21","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. 5653, pp. 369\u2013393. Springer, Heidelberg (2009). \nhttps:\/\/doi.org\/10.1007\/978-3-642-03013-0_17"},{"key":"9_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"319","DOI":"10.1007\/978-3-030-30942-8_20","volume-title":"Formal Methods \u2013 The Next 30 Years","author":"D Steinh\u00f6fel","year":"2019","unstructured":"Steinh\u00f6fel, D., H\u00e4hnle, R.: Abstract execution. In: ter Beek, M.H., McIver, A., Oliveira, J.N. (eds.) FM 2019. LNCS, vol. 11800, pp. 319\u2013336. Springer, Cham (2019). \nhttps:\/\/doi.org\/10.1007\/978-3-030-30942-8_20"},{"key":"9_CR23","unstructured":"Steinh\u00f6fel, D.: Abstract execution: automatically proving infinitely many programs. Ph.D. thesis, TU Darmstadt, Department of Computer Science, May 2020"},{"key":"9_CR24","doi-asserted-by":"crossref","unstructured":"Mongiovi, M., Mendes, G., Gheyi, R., Soares, G., Ribeiro, M.: Scaling testing of refactoring engines. In: Software Maintenance and Evolution. ICSME (2014)","DOI":"10.1109\/ICSME.2014.59"},{"issue":"4","key":"9_CR25","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1109\/MS.2010.63","volume":"27","author":"G Soares","year":"2010","unstructured":"Soares, G., Gheyi, R., Serey, D., Massoni, T.: Making program refactoring safer. IEEE Softw. 27(4), 52\u201357 (2010)","journal-title":"IEEE Softw."},{"key":"9_CR26","doi-asserted-by":"crossref","unstructured":"Pradel, M., Gross, T.R.: Automatic testing of sequential and concurrent substitutability. In: International Conference on Software Engineering, ICSE. IEEE (2013)","DOI":"10.1109\/ICSE.2013.6606574"},{"key":"9_CR27","unstructured":"Li, S., Hariri, F., Agha, G.: Targeted test generation for actor systems. In: Proceedings European Conference on Object-Oriented Programming, LIPIcs, vol. 109. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2018)"},{"key":"9_CR28","doi-asserted-by":"crossref","unstructured":"Rachatasumrit, N., Kim, M.: An empirical investigation into the impact of refactoring on regression testing. In: International Conference on Software Maintenance. ICSM (2012)","DOI":"10.1109\/ICSM.2012.6405293"},{"key":"9_CR29","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1016\/j.scico.2013.11.001","volume":"93","author":"M Mongiovi","year":"2014","unstructured":"Mongiovi, M., Gheyi, R., Soares, G., Teixeira, L., Borba, P.: Making refactoring safer through impact analysis. Sci. Comput. Program. 93, 39\u201364 (2014)","journal-title":"Sci. Comput. Program."},{"key":"9_CR30","doi-asserted-by":"crossref","unstructured":"Alves, E.L.G., Massoni, T., de Lima Machado, P.D.: Test coverage of impacted code elements for detecting refactoring faults: an exploratory study. J. Syst. Softw. 123, 223\u2013238 (2017)","DOI":"10.1016\/j.jss.2016.02.001"},{"key":"9_CR31","doi-asserted-by":"crossref","unstructured":"Schulze, S., Richers, O., Schaefer, I.: Refactoring delta-oriented software product lines. In: Aspect-Oriented Software Development. ACM (2013)","DOI":"10.1145\/2451436.2451446"}],"container-title":["Lecture Notes in Computer Science","Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-61470-6_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,10,26]],"date-time":"2020-10-26T18:06:43Z","timestamp":1603735603000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-61470-6_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030614690","9783030614706"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-61470-6_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"27 October 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ISoLA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Leveraging Applications of Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rhodes","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Greece","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20 October 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 October 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"isola2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/isola-conference.org\/isola2020\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}