Skip to main content

and
  1. No Access

    Chapter and Conference Paper

    A Web Service Architecture for Bidirectional XML Updating

    A Web service architecture is described for bidirectional XML updating. The updating mechanism exploits the power of bidirectional transformation so that users can update remote XML data by editing a view on t...

    Yasushi Hayashi, Dongxi Liu, Kento Emoto in Advances in Data and Web Management (2007)

  2. No Access

    Chapter and Conference Paper

    Gradual Refinement

    Pattern matching is advantageous for understanding and reasoning about function definitions, but it tends to tightly couple the interface and implementation of a datatype. Significant effort has been invested ...

    Meng Wang, Jeremy Gibbons, Kazutaka Matsuda in Mathematics of Program Construction (2010)

  3. Chapter and Conference Paper

    A Grammar-Based Approach to Invertible Programs

    Program inversion has many applications such as in the implementation of serialization/deserialization and in providing support for redo/undo, and has been studied by many researchers. However, little attentio...

    Kazutaka Matsuda, Shin-Cheng Mu, Zhenjiang Hu in Programming Languages and Systems (2010)

  4. No Access

    Chapter and Conference Paper

    Marker-Directed Optimization of UnCAL Graph Transformations

    Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional graph transformations based on structural recursion, and we have recently applied to model transformations. The co...

    Soichiro Hidaka, Zhenjiang Hu in Logic-Based Program Synthesis and Transfor… (2012)

  5. No Access

    Chapter

    Three Complementary Approaches to Bidirectional Programming

    This paper surveys three distinct approaches to bidirectional programming. The first approach, syntactic bidirectionalization, takes a program describing the forward transformation as input and calculates a well-...

    Nate Foster, Kazutaka Matsuda, Janis Voigtländer in Generic and Indexed Programming (2012)

  6. No Access

    Article

    Functional programs as compressed data

    We propose an application of programming language techniques to lossless data compression, where tree data are compressed as functional programs that generate them. This “functional programs as compressed data...

    Naoki Kobayashi, Kazutaka Matsuda, Ayumi Shinohara in Higher-Order and Symbolic Computation (2012)

  7. Article

    Open Access

    Polynomial-time inverse computation for accumulative functions with multiple data traversals

    The problem of inverse computation has many potential applications such as serialization/deserialization, providing support for undo, and test-case generation for software testing. In this paper, we propose an...

    Kazutaka Matsuda, Kazuhiro Inaba, Keisuke Nakano in Higher-Order and Symbolic Computation (2012)

  8. Chapter and Conference Paper

    FliPpr: A Prettier Invertible Printing System

    When implementing a programming language, we often write a parser and a pretty-printer. However, manually writing both programs is not only tedious but also error-prone; it may happen that a pretty-printed res...

    Kazutaka Matsuda, Meng Wang in Programming Languages and Systems (2013)

  9. No Access

    Chapter and Conference Paper

    Pairwise Reachability Analysis for Higher Order Concurrent Programs by Higher-Order Model Checking

    We propose a sound, complete, and automatic method for pairwise reachability analysis of higher-order concurrent programs with recursion, nested locks, joins, and dynamic thread creation. The method is based o...

    Kazuhide Yasukata, Naoki Kobayashi, Kazutaka Matsuda in CONCUR 2014 – Concurrency Theory (2014)

  10. No Access

    Article

    Inspection of Asian Lacquer Substructures by Terahertz Time-Domain Imaging (THz-TDI)

    Lacquering is considered one of the most representative Asian artistic techniques. While the decorative part of lacquerwares is the lacquer itself, their substructures serve as the backbone of the object itsel...

    Corinna Ludovica Koch Dandolo in Journal of Infrared, Millimeter, and Terah… (2017)

  11. Chapter and Conference Paper

    HOBiT: Programming Lenses Without Using Lens Combinators

    We propose HOBiT, a higher-order bidirectional programming language, in which users can write bidirectional programs in the familiar style of conventional functional programming, while enjoying the full expres...

    Kazutaka Matsuda, Meng Wang in Programming Languages and Systems (2018)

  12. No Access

    Article

    FliPpr: A System for Deriving Parsers from Pretty-Printers

    When implementing a programming language, we often write a parser and a pretty-printer. However, manually writing both programs is not only tedious but also error-prone; it may happen that a pretty-printed res...

    Kazutaka Matsuda, Meng Wang in New Generation Computing (2018)

  13. Article

    Diffusion of chemicals into archaeological waterlogged hardwoods obtained from the Thang Long Imperial Citadel site, Vietnam

    This study shows a method to easily develop suitable impregnation procedure of chemicals for preserving the archaeological waterlogged wood (WW) using diffusion constant. The steady-state diffusion coefficient...

    Nguyen Duc Thanh, Soichiro Wakiya, Kazutaka Matsuda in Journal of Wood Science (2018)

  14. Chapter and Conference Paper

    Modular Inference of Linear Types for Multiplicity-Annotated Arrows

    Bernardy et al. [2018] proposed a linear type system \(\lambda ^q_\rightarrow \) λ ...

    Kazutaka Matsuda in Programming Languages and Systems (2020)

  15. Article

    Open Access

    Synbit: synthesizing bidirectional programs using unidirectional sketches

    We propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus input/output examples. The core ideas are: (1) constructing a sketch using the given unidirectional p...

    Masaomi Yamaguchi, Kazutaka Matsuda, Cristina David in Formal Methods in System Design (2022)

  16. Chapter and Conference Paper

    Reconciling Partial and Local Invertibility

    Invertible programming languages specify transformations to be run in two directions, such as compression/decompression or encryption/decryption. Two key concepts in invertible programming languages are partial i...

    Anders Ågren Thuné, Kazutaka Matsuda, Meng Wang in Programming Languages and Systems (2024)