{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T00:48:49Z","timestamp":1740098929192,"version":"3.37.3"},"publisher-location":"Cham","reference-count":50,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319600734"},{"type":"electronic","value":"9783319600741"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"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":[[2017]]},"DOI":"10.1007\/978-3-319-60074-1_8","type":"book-chapter","created":{"date-parts":[[2017,6,28]],"date-time":"2017-06-28T09:37:38Z","timestamp":1498642658000},"page":"179-214","source":"Crossref","is-referenced-by-count":3,"title":["Refactoring Tools and Their Kin"],"prefix":"10.1007","author":[{"given":"Friedrich","family":"Steimann","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2017,6,29]]},"reference":[{"key":"8_CR1","unstructured":"Andreae, C., Noble, J., Markstrum, S., Millstein, T.D.: A framework for implementing pluggable type systems. In: Tarr, P.L., Cook, W.R. (eds.) Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, 22\u201326 October 2006, Portland, Oregon, USA, pp. 57\u201374. ACM (2006). \nhttp:\/\/doi.acm.org\/10.1145\/1167473.1167479"},{"key":"8_CR2","unstructured":"Balaban, I., Tip, F., Fuhrer, R.M.: Refactoring support for class library migration. In: Johnson, R.E., Gabriel, R.P. (eds.) Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, 16\u201320 October 2005, San Diego, CA, USA, pp. 265\u2013279. ACM (2005). \nhttp:\/\/doi.acm.org\/10.1145\/1094811.1094832"},{"key":"8_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"492","DOI":"10.1007\/11813040_33","volume-title":"FM 2006: Formal Methods","author":"F Bannwart","year":"2006","unstructured":"Bannwart, F., M\u00fcller, P.: Changing programs correctly: refactoring with specifications. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 492\u2013507. Springer, Heidelberg (2006). doi:\n10.1007\/11813040_33"},{"key":"8_CR4","volume-title":"Extreme Programming Explained: Embrace Change","author":"K Beck","year":"2000","unstructured":"Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley Longman Publishing Co. Inc., Boston (2000)"},{"key":"8_CR5","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1016\/j.scico.2004.03.003","volume":"52","author":"P Borba","year":"2004","unstructured":"Borba, P., Sampaio, A., Cavalcanti, A., Corn\u00e9lio, M.: Algebraic reasoning for object-oriented programming. Sci. Comput. Program. 52, 53\u2013100 (2004). \nhttp:\/\/dx.doi.org\/10.1016\/j.scico.2004.03.003","journal-title":"Sci. Comput. Program."},{"key":"8_CR6","unstructured":"Bracha, G.: Pluggable type systems. In: OOPSLA Workshop on Revival of Dynamic Languages, vol. 1. Citeseer (2004)"},{"issue":"6","key":"8_CR7","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/MS.2015.145","volume":"32","author":"J Brant","year":"2015","unstructured":"Brant, J., Steimann, F.: Refactoring tools are trustworthy enough and trust must be earned. IEEE Softw. 32(6), 80\u201383 (2015). \nhttp:\/\/dx.doi.org\/10.1109\/MS.2015.145","journal-title":"IEEE Softw."},{"key":"8_CR8","unstructured":"Daniel, B., Dig, D., Garcia, K., Marinov, D.: Automated testing of refactoring engines. In: Crnkovic, I., Bertolino, A. (eds.) Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2007, Dubrovnik, Croatia, 3\u20137 September 2007, pp. 185\u2013194. ACM (2007). \nhttp:\/\/doi.acm.org\/10.1145\/1287624.1287651"},{"key":"8_CR9","unstructured":"Dietl, W., Dietzel, S., Ernst, M.D., Muslu, K., Schiller, T.W.: Building and using pluggable type-checkers. In: Taylor, R.N., Gall, H.C., Medvidovic, N. (eds.) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, 21\u201328 May 2011, pp. 681\u2013690. ACM (2011). \nhttp:\/\/doi.acm.org\/10.1145\/1985793.1985889"},{"key":"8_CR10","doi-asserted-by":"crossref","unstructured":"Dig, D., Marrero, J., Ernst, M.D.: Refactoring sequential Java code for concurrency via concurrent libraries. In: 31st International Conference on Software Engineering, ICSE 2009, 16\u201324 May 2009, Vancouver, Canada, Proceedings, pp. 397\u2013407. IEEE (2009). \nhttp:\/\/dx.doi.org\/10.1109\/ICSE.2009.5070539","DOI":"10.1109\/ICSE.2009.5070539"},{"key":"8_CR11","doi-asserted-by":"crossref","unstructured":"Foster, S.R., Griswold, W.G., Lerner, S.: Witchdoctor: IDE support for real-time auto-completion of refactorings. In: Glinz et al. [16], pp. 222\u2013232. \nhttp:\/\/dx.doi.org\/10.1109\/ICSE.2012.6227191","DOI":"10.1109\/ICSE.2012.6227191"},{"key":"8_CR12","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":"8_CR13","doi-asserted-by":"crossref","unstructured":"Garrido, A., Meseguer, J.: Formal specification and verification of Java refactorings. In: Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2006, pp. 165\u2013174 (2006). \nhttp:\/\/dx.doi.org\/10.1109\/SCAM.2006.16","DOI":"10.1109\/SCAM.2006.16"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Ge, X., DuBose, Q.L., Murphy-Hill, E.R.: Reconciling manual and automatic refactoring. In: Glinz et al. [16], pp. 211\u2013221. \nhttp:\/\/dx.doi.org\/10.1109\/ICSE.2012.6227192","DOI":"10.1109\/ICSE.2012.6227192"},{"key":"8_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"629","DOI":"10.1007\/978-3-642-39038-8_26","volume-title":"ECOOP 2013 \u2013 Object-Oriented Programming","author":"M Gligoric","year":"2013","unstructured":"Gligoric, M., Behrang, F., Li, Y., Overbey, J., Hafiz, M., Marinov, D.: Systematic testing of refactoring engines on real software projects. In: Castagna, G. (ed.) ECOOP 2013. LNCS, vol. 7920, pp. 629\u2013653. Springer, Heidelberg (2013). doi:\n10.1007\/978-3-642-39038-8_26"},{"key":"8_CR16","unstructured":"Glinz, M., Murphy, G.C., Pezz\u00e8, M. (eds.): 34th International Conference on Software Engineering, ICSE 2012, 2\u20139 June 2012, Zurich, Switzerland. IEEE (2012)"},{"key":"8_CR17","doi-asserted-by":"crossref","unstructured":"Gonz\u00e1lez, C.A., B\u00fcttner, F., Claris\u00f3, R., Cabot, J.: EMFtoCSP: a tool for the lightweight verification of EMF models. In: Gnesi, S., Gruner, S., Plat, N., Rumpe, B. (eds.) Proceedings of the First International Workshop on Formal Methods in Software Engineering - Rigorous and Agile Approaches, FormSERA 2012, Zurich, Switzerland, 2 June 2012, pp. 44\u201350. IEEE (2012). \nhttp:\/\/dx.doi.org\/10.1109\/FormSERA.2012.6229788","DOI":"10.1109\/FormSERA.2012.6229788"},{"key":"8_CR18","unstructured":"Griswold, W.G.: Program restructuring as an aid to software maintenance. Ph.D. thesis, University of Washington (1991)"},{"issue":"3","key":"8_CR19","doi-asserted-by":"crossref","first-page":"228","DOI":"10.1145\/152388.152389","volume":"2","author":"WG Griswold","year":"1993","unstructured":"Griswold, W.G., Notkin, D.: Automated assistance for program restructuring. ACM Trans. Softw. Eng. Methodol. 2(3), 228\u2013269 (1993). \nhttp:\/\/doi.acm.org\/10.1145\/152388.152389","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"8_CR20","doi-asserted-by":"crossref","unstructured":"Grothoff, C., Palsberg, J., Vitek, J.: Encapsulating objects with confined types. ACM Trans. Program. Lang. Syst. 29(6) (2007). \nhttp:\/\/doi.acm.org\/10.1145\/1286821.1286823","DOI":"10.1145\/1286821.1286823"},{"key":"8_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"357","DOI":"10.1007\/11877028_14","volume-title":"Generative and Transformational Techniques in Software Engineering","author":"D Heuzeroth","year":"2006","unstructured":"Heuzeroth, D., A\u00dfmann, U., Trifu, M., Kuttruff, V.: The COMPOST, COMPASS, Inject\/J and RECODER tool suite for invasive software composition: invasive composition with compass aspect-oriented connectors. In: L\u00e4mmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 357\u2013377. Springer, Heidelberg (2006). doi:\n10.1007\/11877028_14"},{"key":"8_CR22","unstructured":"Hottelier, T., Bod\u00edk, R.: Synthesis of layout engines from relational constraints. In: Aldrich, J., Eugster, P. (eds.) Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, part of SPLASH 2015, Pittsburgh, PA, USA, 25\u201330 October 2015, pp. 74\u201388. ACM (2015). \nhttp:\/\/doi.acm.org\/10.1145\/2814270.2814291"},{"issue":"5","key":"8_CR23","doi-asserted-by":"crossref","first-page":"376","DOI":"10.1016\/j.scico.2008.09.007","volume":"76","author":"SS Huang","year":"2011","unstructured":"Huang, S.S., Zook, D., Smaragdakis, Y.: Statically safe program generation with safegen. Sci. Comput. Program. 76(5), 376\u2013391 (2011). \nhttp:\/\/dx.doi.org\/10.1016\/j.scico.2008.09.007","journal-title":"Sci. Comput. Program."},{"key":"8_CR24","unstructured":"Kegel, H., Steimann, F.: Systematically refactoring inheritance to delegation in Java. In: Sch\u00e4fer, W., Dwyer, M.B., Gruhn, V. (eds.) 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, 10\u201318 May 2008, pp. 431\u2013440. ACM (2008). \nhttp:\/\/doi.acm.org\/10.1145\/1368088.1368147"},{"issue":"2","key":"8_CR25","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1007\/BF01692511","volume":"2","author":"DE Knuth","year":"1968","unstructured":"Knuth, D.E.: Semantics of context-free languages. Math. Syst. Theory 2(2), 127\u2013145 (1968). \nhttp:\/\/dx.doi.org\/10.1007\/BF01692511","journal-title":"Math. Syst. Theory"},{"key":"8_CR26","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel, R.: Towards generic refactoring. In: Fischer, B., Visser, E. (eds.) Proceedings of the 2002 ACM SIGPLAN Workshop on Rule-Based Programming, Pittsburgh, Pennsylvania, USA, 2002, pp. 15\u201328. ACM (2002). \nhttp:\/\/doi.acm.org\/10.1145\/570186.570188","DOI":"10.1145\/570186.570188"},{"key":"8_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"179","DOI":"10.1007\/3-540-44815-2_13","volume-title":"Generative and Component-Based Software Engineering","author":"A Ludwig","year":"2001","unstructured":"Ludwig, A., Heuzeroth, D.: Metaprogramming in the large. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 179\u2013188. Springer, Heidelberg (2001). doi:\n10.1007\/3-540-44815-2_13"},{"issue":"1","key":"8_CR28","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1109\/TSE.2011.41","volume":"38","author":"ER Murphy-Hill","year":"2012","unstructured":"Murphy-Hill, E.R., Parnin, C., Black, A.P.: How we refactor, and how we know it. IEEE Trans. Softw. Eng. 38(1), 5\u201318 (2012). \nhttp:\/\/doi.ieeecomputersociety.org\/10.1109\/TSE.2011.41","journal-title":"IEEE Trans. Softw. Eng."},{"key":"8_CR29","unstructured":"Opdyke, W.F.: Refactoring object-oriented frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign (1992)"},{"key":"8_CR30","unstructured":"Opdyke, W.F., Johnson, R.E.: Creating abstract superclasses by refactoring. In: Kwasny, S.C., Buck, J.F. (eds.) Proceedings of the ACM 21th Conference on Computer Science, CSC 1993, Indianapolis, IN, USA, 16\u201318 February 1993, pp. 66\u201373. ACM (1993). \nhttp:\/\/doi.acm.org\/10.1145\/170791.170804"},{"key":"8_CR31","unstructured":"Overbye, J.L.: A toolkit for constructing refactoring engines. Ph.D. thesis, University of Illinois at Urbana-Champaign (2011)"},{"key":"8_CR32","series-title":"Wiley Professional Computing","volume-title":"Object-Oriented Type Systems","author":"J Palsberg","year":"1994","unstructured":"Palsberg, J., Schwartzbach, M.I.: Object-Oriented Type Systems. Wiley Professional Computing. Wiley, Chichester (1994)"},{"key":"8_CR33","unstructured":"Raychev, V., Sch\u00e4fer, M., Sridharan, M., Vechev, M.T.: Refactoring with synthesis. In: Hosking, A.L., Eugster, P.T., Lopes, C.V. (eds.) Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, part of SPLASH 2013, Indianapolis, IN, USA, 26\u201331 October 2013, pp. 339\u2013354. ACM (2013). \nhttp:\/\/doi.acm.org\/10.1145\/2509136.2509544"},{"issue":"4","key":"8_CR34","first-page":"253","volume":"3","author":"D Roberts","year":"1997","unstructured":"Roberts, D., Brant, J., Johnson, R.E.: A refactoring tool for Smalltalk. TAPOS 3(4), 253\u2013263 (1997)","journal-title":"TAPOS"},{"key":"8_CR35","unstructured":"Roberts, D.B.: Practical analysis for refactoring. Ph.D. thesis, University of Illinois at Urbana-Champaign (1999)"},{"key":"8_CR36","unstructured":"Sch\u00e4fer, M.: Specification, implementation and verification of refactorings. Ph.D. thesis, Oxford University Computing Laboratory (2010)"},{"key":"8_CR37","unstructured":"Sch\u00e4fer, M., de Moor, O.: Of gnats and dragons: sources of complexity in implementing refactorings. In: Workshop on Refactoring Tools (WRT) (2009)"},{"issue":"6","key":"8_CR38","doi-asserted-by":"crossref","first-page":"1233","DOI":"10.1109\/TSE.2012.13","volume":"38","author":"M Sch\u00e4fer","year":"2012","unstructured":"Sch\u00e4fer, M., Thies, A., Steimann, F., Tip, F.: A comprehensive approach to naming and accessibility in refactoring Java programs. IEEE Trans. Softw. Eng. 38(6), 1233\u20131257 (2012). \nhttp:\/\/doi.ieeecomputersociety.org\/10.1109\/TSE.2012.13","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"2","key":"8_CR39","doi-asserted-by":"crossref","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). \nhttp:\/\/dx.doi.org\/10.1109\/TSE.2012.19","journal-title":"IEEE Trans. Softw. Eng."},{"key":"8_CR40","doi-asserted-by":"crossref","unstructured":"Soares, G., Mongiovi, M., Gheyi, R.: Identifying overly strong conditions in refactoring implementations. In: IEEE 27th International Conference on Software Maintenance, ICSM 2011, Williamsburg, VA, USA, 25\u201330 September 2011, pp. 173\u2013182. IEEE Computer Society (2011). \nhttp:\/\/dx.doi.org\/10.1109\/ICSM.2011.6080784","DOI":"10.1109\/ICSM.2011.6080784"},{"issue":"1","key":"8_CR41","doi-asserted-by":"crossref","first-page":"307","DOI":"10.1007\/s10270-013-0314-z","volume":"14","author":"F Steimann","year":"2015","unstructured":"Steimann, F.: From well-formedness to meaning preservation: model refactoring for almost free. Softw. Syst. Model. 14(1), 307\u2013320 (2015). \nhttp:\/\/dx.doi.org\/10.1007\/s10270-013-0314-z","journal-title":"Softw. Syst. Model."},{"key":"8_CR42","unstructured":"Steimann, F., Hagemann, J., Ulke, B.: Computing repair alternatives for malformed programs using constraint attribute grammars. In: Visser, E., Smaragdakis, Y. (eds.) Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, 30 October \u2013 4 November 2016, pp. 711\u2013730. ACM (2016). \nhttp:\/\/doi.acm.org\/10.1145\/2983990.2984007"},{"key":"8_CR43","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"535","DOI":"10.1007\/978-3-642-31057-7_24","volume-title":"ECOOP 2012 \u2013 Object-Oriented Programming","author":"F Steimann","year":"2012","unstructured":"Steimann, F., von Pilgrim, J.: Constraint-based refactoring with foresight. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 535\u2013559. Springer, Heidelberg (2012). doi:\n10.1007\/978-3-642-31057-7_24"},{"key":"8_CR44","unstructured":"Steimann, F., von Pilgrim, J.: Refactorings without names. In: Goedicke, M., Menzies, T., Saeki, M. (eds.) IEEE\/ACM International Conference on Automated Software Engineering, ASE 2012, Essen, Germany, 3\u20137 September 2012, pp. 290\u2013293. ACM (2012). \nhttp:\/\/doi.acm.org\/10.1145\/2351676.2351726"},{"key":"8_CR45","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. 5653, pp. 419\u2013443. Springer, Heidelberg (2009). doi:\n10.1007\/978-3-642-03013-0_19"},{"key":"8_CR46","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1007\/978-3-642-41533-3_2","volume-title":"Model-Driven Engineering Languages and Systems","author":"F Steimann","year":"2013","unstructured":"Steimann, F., Ulke, B.: Generic model assist. In: Moreira, A., Sch\u00e4tz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 18\u201334. Springer, Heidelberg (2013). doi:\n10.1007\/978-3-642-41533-3_2"},{"key":"8_CR47","unstructured":"Sultana, N., Thompson, S.J.: Mechanical verification of refactorings. In: Gl\u00fcck, R., de Moor, O. (eds.) Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, PEPM 2008, San Francisco, California, USA, 7\u20138 January 2008, pp. 51\u201360. ACM (2008). \nhttp:\/\/doi.acm.org\/10.1145\/1328408.1328417"},{"issue":"3","key":"8_CR48","first-page":"9","volume":"33","author":"F Tip","year":"2011","unstructured":"Tip, F., Fuhrer, R.M., Kiezun, A., Ernst, M.D., Balaban, I., Sutter, B.D.: Refactoring using type constraints. ACM Trans. Program. Lang. Syst. 33(3), 9 (2011). \nhttp:\/\/doi.acm.org\/10.1145\/1961204.1961205","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"8_CR49","unstructured":"Tip, F., Kiezun, A., B\u00e4umer, D.: Refactoring for generalization using type constraints. In: Crocker, R., Jr., G.L.S. (eds.) Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 2003, 26\u201330 October 2003, Anaheim, CA, USA, pp. 13\u201326. ACM (2003). \nhttp:\/\/doi.acm.org\/10.1145\/949305.949308"},{"key":"8_CR50","doi-asserted-by":"crossref","unstructured":"Vakilian, M., Chen, N., Negara, S., Rajkumar, B.A., Bailey, B.P., Johnson, R.E.: Use, disuse, and misuse of automated refactorings. In: Glinz et al. [16], pp. 233\u2013243. \nhttp:\/\/dx.doi.org\/10.1109\/ICSE.2012.6227190","DOI":"10.1109\/ICSE.2012.6227190"}],"container-title":["Lecture Notes in Computer Science","Grand Timely Topics in Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-60074-1_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2017,6,28]],"date-time":"2017-06-28T09:43:36Z","timestamp":1498643016000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-60074-1_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319600734","9783319600741"],"references-count":50,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-60074-1_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2017]]}}}