Reversible computing is an emerging field of computer science that has received increasing attention during the past years. The articles in this special issue reflect the broad spectrum of research on reversible computing, including topics such as programming languages and semantics, methods and algorithms, computation models and theoretical foundations. Reversible computing has derived from fundamental questions on inverting programs and computations. Inverse problems arise frequently in mathematics, science and engineering, but the corresponding problems in computer science are yet to be fully understood. This special issue aims at contributing to this long-term endeavor by providing a forum in which answers to important questions are presented in detail.

The fully reviewed articles in this special issue are arranged alphabetically and represent the latest research on topics ranging from theoretical investigations to practical studies and applications. Here is a brief summary of the six articles.

Jarkko Kari [1] surveys results of and recent developments in research on reversible cellular automata, a massively parallel computation model. The article presents techniques to construct reversible cellular automata and discusses undecidability issues and types of universality.

Kazutaka Matsuda and Meng Wang [2] tackle the classic problem of constructing parsers using grammar-based inversion as well as program composition and specialization techniques for generating efficient parsers for context-free languages from unparsers, also known as pretty printers.

Torben Ægidius Mogensen [3] investigates dynamic memory management, a central system component for supporting dynamic data structures and pattern matching in reversible functional programming languages, and experimentally evaluates a heap manager algorithm for a reversible intermediate language.

Luca Paolini, Mauro Piccolo, and Luca Roversi [4] present a foundational study of reversible computing by exploring recursion-theoretic characterizations of primitive and partial recursive functions to eventually encompass higher-order functional programming languages.

Markus Schordan, Tomas Oppelstrup, David Jefferson, and Peter D. Barnes, Jr. [5] elaborate on an automatic source-to-source transformation to program pairs for incremental forward checkpointing and reverse execution for implementing fast parallel discrete event simulations on supercomputers.

Irek Ulidowski, Iain Phillips, and Shoji Yuen [6] survey the modeling of reversibility in concurrent computation, in particular the extension of two forms of event structures and the resulting theoretical properties, and illustrate their approach to reversibility using various examples.

We would like to thank the 14 authors for their contributions; their research is the justification for this special issue. We are also grateful to the 20 reviewers, who helped us in fully reviewing all submissions and ensuring the high quality of the selected articles. We are thankful to the past and present Editors-in-Chief of New Generation Computing, Masami Hagiya and Masayuki Numao, for the invitation to edit this special issue and to Springer for the efficient handling of the publication process and the editorial assistance, and particularly to Mio Sugino at Springer Japan. The support given by EU COST Action IC1405 is acknowledged.