{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,5]],"date-time":"2025-10-05T04:34:19Z","timestamp":1759638859623,"version":"3.40.3"},"publisher-location":"Cham","reference-count":19,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030798369"},{"type":"electronic","value":"9783030798376"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"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":[[2021]]},"DOI":"10.1007\/978-3-030-79837-6_4","type":"book-chapter","created":{"date-parts":[[2021,6,22]],"date-time":"2021-06-22T11:03:03Z","timestamp":1624359783000},"page":"64-78","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Compiling Janus to RSSA"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9564-2625","authenticated-orcid":false,"given":"Martin","family":"Kutrib","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0216-8803","authenticated-orcid":false,"given":"Uwe","family":"Meyer","sequence":"additional","affiliation":[]},{"given":"Niklas","family":"Deworetzki","sequence":"additional","affiliation":[]},{"given":"Marc","family":"Schuster","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,6,23]]},"reference":[{"key":"4_CR1","unstructured":"Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)"},{"key":"4_CR2","doi-asserted-by":"publisher","unstructured":"Alpern, B., Wegman, M.N., Zadeck, F.K.: Detecting equality of variables in programs. In: Ferrante, J., Mager, P. (eds.) Principles of Programming Languages (POPL 1988), pp. 1\u201311. ACM Press (1988). https:\/\/doi.org\/10.1145\/73560.73561","DOI":"10.1145\/73560.73561"},{"key":"4_CR3","volume-title":"Modern Compiler Implementation in Java","author":"AW Appel","year":"1998","unstructured":"Appel, A.W.: Modern Compiler Implementation in Java. Cambridge University Press, Cambridge (1998)"},{"key":"4_CR4","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":"4_CR5","unstructured":"Frank, M.P.: The future of computing depends on making it reversible. IEEE Spectrum, September 2017"},{"key":"4_CR6","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)"},{"key":"4_CR7","unstructured":"Hudson, S., Flannery, F., Scott Ananian, C., Petter, M.: CUP User\u2019s Manual. Technische Universit\u00e4t M\u00fcnchen, v0.11b edn. (2014) http:\/\/www2.in.tum.de\/projects\/cup\/docs.php"},{"key":"4_CR8","doi-asserted-by":"crossref","unstructured":"Kildall, G.A.: A unified approach to global program optimization. In: Fischer, P.C., Ullman, J.D. (eds.) Principles of Programming Languages (POPL 1973), pp. 194\u2013206. ACM Press (1973)","DOI":"10.1145\/512927.512945"},{"key":"4_CR9","unstructured":"Klein, G., Rowe, S., D\u00e9camps, R.: JFlex User\u2019s Manual, version 1.8.2 edn. (2020). https:\/\/www.jflex.de\/manual.html"},{"issue":"3","key":"4_CR10","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":"4_CR11","unstructured":"Lutz, C.: Janus - A Time-Reversible Language (1986), http:\/\/tetsuo.jp\/ref\/janus.pdf, Letter to R. Landauer"},{"key":"4_CR12","doi-asserted-by":"publisher","unstructured":"Mogensen, T.\u00c6.: Partial evaluation of the reversible language Janus. In: Khoo, S., Siek, J.G. (eds.) SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2011), pp. 23\u201332. ACM Press (2011). https:\/\/doi.org\/10.1145\/1929501.1929506","DOI":"10.1145\/1929501.1929506"},{"key":"4_CR13","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_16"},{"key":"4_CR14","unstructured":"Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann (1997)"},{"key":"4_CR15","unstructured":"Nielsen, C.S., Budde, M., Thomsen, M.K.: Program Inversion and Reversible Computation - Janus Extended Playground http:\/\/topps.diku.dk\/pirc\/?id=janusP"},{"key":"4_CR16","doi-asserted-by":"publisher","unstructured":"Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Global value numbers and redundant computations. In: Ferrante, J., Mager, P. (eds.) Principles of Programming Languages (POPL 1988), pp. 12\u201327. ACM Press (1988). https:\/\/doi.org\/10.1145\/73560.73562","DOI":"10.1145\/73560.73562"},{"key":"4_CR17","doi-asserted-by":"publisher","unstructured":"Yokoyama, T., Axelsen, H.B., Gl\u00fcck, R.: Principles of a reversible programming language. In: Ram\u00edrez, A., Bilardi, G., Gschwind, M. (eds.) Computing Frontiers, pp. 43\u201354. ACM Press (2008). https:\/\/doi.org\/10.1145\/1366230.1366239","DOI":"10.1145\/1366230.1366239"},{"key":"4_CR18","doi-asserted-by":"publisher","unstructured":"Yokoyama, T., Gl\u00fcck, R.: A reversible programming language and its invertible self-interpreter. In: Ramalingam, G., Visser, E. (eds.) SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation (PEPM 2007), pp. 144\u2013153. ACM Press (2007). https:\/\/doi.org\/10.1145\/1244381.1244404","DOI":"10.1145\/1244381.1244404"},{"key":"4_CR19","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1016\/j.tcs.2015.07.046","volume":"611","author":"T Yokoyama","year":"2016","unstructured":"Yokoyama, T., Axelsen, H.B., Gl\u00fcck, R.: Fundamentals of reversible flowchart languages. Theoret. Comput. Sci. 611, 87\u2013115 (2016). https:\/\/doi.org\/10.1016\/j.tcs.2015.07.046","journal-title":"Theoret. Comput. Sci."}],"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-030-79837-6_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,6,29]],"date-time":"2021-06-29T23:06:43Z","timestamp":1625008003000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-79837-6_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030798369","9783030798376"],"references-count":19,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-79837-6_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"23 June 2021","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":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 July 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 July 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"rc2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/reversible-computation-2021.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":"21","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":"11","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":"0","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":"52% - 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)"}}]}}