{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T14:20:03Z","timestamp":1742998803321,"version":"3.40.3"},"publisher-location":"Cham","reference-count":20,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031090042"},{"type":"electronic","value":"9783031090059"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-09005-9_16","type":"book-chapter","created":{"date-parts":[[2022,6,27]],"date-time":"2022-06-27T23:05:55Z","timestamp":1656371155000},"page":"224-238","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Optimizing Reversible Programs"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7276-7708","authenticated-orcid":false,"given":"Niklas","family":"Deworetzki","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9564-2625","authenticated-orcid":false,"given":"Martin","family":"Kutrib","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0216-8803","authenticated-orcid":false,"given":"Uwe","family":"Meyer","sequence":"additional","affiliation":[]},{"given":"Pia-Doreen","family":"Ritzke","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,6,28]]},"reference":[{"key":"16_CR1","unstructured":"Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Boston (1986)"},{"key":"16_CR2","doi-asserted-by":"crossref","unstructured":"Appel, A.W.: Modern Compiler Implementation in Java. Cambridge University Press, Cambridge (1998)","DOI":"10.1017\/CBO9780511811449"},{"key":"16_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"144","DOI":"10.1007\/978-3-642-19861-8_9","volume-title":"Compiler Construction","author":"HB Axelsen","year":"2011","unstructured":"Axelsen, H.B.: Clean translation of an imperative reversible programming language. In: Knoop, J. (ed.) CC 2011. LNCS, vol. 6601, pp. 144\u2013163. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-19861-8_9"},{"key":"16_CR4","doi-asserted-by":"publisher","unstructured":"Deworetzki, N., Meyer, U.: Program analysis for reversible languages. In: Proceedings of the 10th ACM SIGPLAN International Workshop on the State of the Art in Program Analysis, SOAP 2021, pp. 13\u201318. Association for Computing Machinery, New York (2021). https:\/\/doi.org\/10.1145\/3460946.3464314","DOI":"10.1145\/3460946.3464314"},{"key":"16_CR5","doi-asserted-by":"crossref","unstructured":"Deworetzki, N., Meyer, U.: Designing a reversible stack machine. In: Mezzina, C.A., Podlaski, K. (Eds.): RC 2022, LNCS 13354, pp. 65\u201372. Springer, Cham (2022, to appear)","DOI":"10.1007\/978-3-031-09005-9_5"},{"key":"16_CR6","unstructured":"Frank, M.P.: The future of computing depends on making it reversible. IEEE Spectrum, September 2017"},{"key":"16_CR7","unstructured":"Hudson, S.E., Flannery, F., Ananian, S.C., Wang, D., Petter, M.: Cup user\u2019s manual, June 2014. http:\/\/www2.in.tum.de\/projects\/cup\/docs.php"},{"key":"16_CR8","doi-asserted-by":"crossref","unstructured":"Kildall, G.A.: A unified approach to global program optimization. In: Fischer, P.C., Ullman, J.D. (eds.) POPL, pp. 194\u2013206. ACM Press (1973). http:\/\/dblp.uni-trier.de\/db\/conf\/popl\/popl73.html","DOI":"10.1145\/512927.512945"},{"key":"16_CR9","unstructured":"Klein, G., Rowe, S., D\u00e9camps, R.: Jflex user\u2019s manual, version 1.8.2 edn., February 2020. https:\/\/www.jflex.de\/manual.html"},{"key":"16_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"64","DOI":"10.1007\/978-3-030-79837-6_4","volume-title":"Reversible Computation","author":"M Kutrib","year":"2021","unstructured":"Kutrib, M., Meyer, U., Deworetzki, N., Schuster, M.: Compiling Janus to RSSA. In: Yamashita, S., Yokoyama, T. (eds.) RC 2021. LNCS, vol. 12805, pp. 64\u201378. Springer, Cham (2021). https:\/\/doi.org\/10.1007\/978-3-030-79837-6_4"},{"issue":"3","key":"16_CR11","doi-asserted-by":"publisher","first-page":"183","DOI":"10.1147\/rd.53.0183","volume":"5","author":"R Landauer","year":"1961","unstructured":"Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 5(3), 183\u2013191 (1961)","journal-title":"IBM J. Res. Dev."},{"key":"16_CR12","unstructured":"Lutz, C.: Janus - A Time-Reversible Language (1986). http:\/\/tetsuo.jp\/ref\/janus.pdf. Letter to R. Landauer"},{"key":"16_CR13","unstructured":"Mogensen, T.\u00c6.: Partial evaluation of the reversible language Janus. In: Khoo, S.C., Siek, J.G. (eds.) PEPM, pp. 23\u201332. ACM (2011). http:\/\/dblp.uni-trier.de\/db\/conf\/pepm\/pepm2011.html"},{"key":"16_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1007\/978-3-319-41579-6_16","volume-title":"Perspectives of System Informatics","author":"T\u00c6 Mogensen","year":"2016","unstructured":"Mogensen, T.\u00c6.: RSSA: a reversible SSA form. In: Mazzara, M., Voronkov, A. (eds.) PSI 2015. LNCS, vol. 9609, pp. 203\u2013217. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-41579-6_16http:\/\/dblp.unitrier.de\/db\/conf\/ershov\/ershov2015.html"},{"key":"16_CR15","unstructured":"Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann (1997)"},{"key":"16_CR16","doi-asserted-by":"crossref","unstructured":"Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Global value numbers and redundant computations. In: Ferrante, J., Mager, P. (eds.) POPL, pp. 12\u201327. ACM Press (1988). http:\/\/dblp.uni-trier.de\/db\/conf\/popl\/popl88.html","DOI":"10.1145\/73560.73562"},{"key":"16_CR17","unstructured":"Technische Hochschule Mittelhessen: Reversible computing compiler collection (rc3), February 2022. https:\/\/git.thm.de\/thm-rc3\/release"},{"key":"16_CR18","doi-asserted-by":"crossref","unstructured":"Yokoyama, T., Axelsen, H.B., Gl\u00fcck, R.: Principles of a reversible programming language. In: Ram\u00edrez, A., Bilardi, G., Gschwind, M. (eds.) Conference Computing Frontiers, pp. 43\u201354. ACM (2008). http:\/\/dblp.uni-trier.de\/db\/conf\/cf\/cf2008.html","DOI":"10.1145\/1366230.1366239"},{"key":"16_CR19","doi-asserted-by":"crossref","unstructured":"Yokoyama, T., Axelsen, H.B., Gl\u00fcck, R.: Fundamentals of reversible flowchart languages. Theor. Comput. Sci. 611, 87\u2013115 (2016). http:\/\/dblp.uni-trier.de\/db\/journals\/tcs\/tcs611.html","DOI":"10.1016\/j.tcs.2015.07.046"},{"key":"16_CR20","doi-asserted-by":"crossref","unstructured":"Yokoyama, T., Gl\u00fcck, R.: A reversible programming language and its invertible self-interpreter. In: Ramalingam, G., Visser, E. (eds.) PEPM, pp. 144\u2013153. ACM (2007). http:\/\/dblp.uni-trier.de\/db\/conf\/pepm\/pepm2007.html","DOI":"10.1145\/1244381.1244404"}],"container-title":["Lecture Notes in Computer Science","Reversible Computation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-09005-9_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,27]],"date-time":"2024-09-27T22:29:51Z","timestamp":1727476191000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-09005-9_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031090042","9783031090059"],"references-count":20,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-09005-9_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"28 June 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"RC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Reversible Computation","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Urbino","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"5 July 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 July 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"rc2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/reversible-computation-2022.github.io\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"20","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"50% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"There were 5 sub-reviewers.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}