Takashi Suwa

dblp:192/0340 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
4since 2021 · last 2026
0009-0004-9845-7419ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 3 first-author · 4 since 2021
YearPublicationVenuePosition
2026 Compile-Time Tensor Shape Checking via Staged Shape-Dependent Types
abstract
When writing programs involving matrices or tensors in general, it is desirable to rule out the inconsistency of tensor shapes (i.e., the generalization of matrix sizes) before actual computation. For this purpose, some languages provide dependent types such as Mat m n, and others offer refinement types to track predicates for shapes. Despite the theoretical maturity, however, such methods are often unhandy for continuous software development due to the requirement of proofs for judging type equality or subtyping; even automated proving is often unsuitable due to its unforeseeable time consumption. To remedy this, our study provides an alternative formalization by using staging. Based on the observation that conditions for the shape consistency can be extracted before running the actual tensor computations in many typical cases, we ensure such consistency by assertions evaluated as compile-time computations, not by proofs. Under this formalization, we can verify the consistency virtually statically in the sense that inconsistencies will be immediately detected as failures during compile-time computation. Our work achieves a mathematical guarantee that successfully generated code is always consistent with respect to tensor shapes. Furthermore, to vastly lessen the burden of adding shape- or stage-related descriptions, we (1) allow shape-related arguments to be implicit and infer them in a best-effort manner, and (2) offer a non-staged surface language that seemingly resembles ordinary dependently-typed languages and translate its programs into the staged core language. By a prototype implementation, we confirm that our language is expressive enough to verify a number of programs, including several examples offered by ocaml-torch.
Takashi Suwa, Atsushi Igarashi
ECOOP1
2026 An ML-style module system for cross-stage type abstraction in multi-stage programming
Takashi Suwa, Atsushi Igarashi
Sci. Comput. Program.1
2026 ArithHomFA: A toolkit for oblivious online STL monitoring
abstract
In runtime verification, monitored data often contains sensitive information, and it is critical for a remote monitor to maintain the confidentiality of the monitored data. ArithHomFA is a prototype toolkit for oblivious online monitoring of discrete-time signal temporal logic (STL) . Based on fully homomorphic encryption (FHE) , ArithHomFA enables users to 1) encrypt a sequence of vectors representing a discrete signal, 2) construct a sequence of ciphertexts representing whether the encrypted signal satisfies the given requirement without decryption, and 3) decrypt the resulting ciphertexts. We illustrate the practicality of ArithHomFA through an example of monitoring vehicle behavior.
Masaki Waga, Kotaro Matsuoka, Takashi Suwa
Sci. Comput. Program.3
2024 Oblivious Monitoring for Discrete-Time STL via Fully Homomorphic Encryption
Masaki Waga, Kotaro Matsuoka, Takashi Suwa, Naoki Matsumoto, Ryotaro Banno, Song Bian 0001, Kohei Suenaga
RV3
2017 Verification of code generators via higher-order model checking
abstract
Dynamic code generation is useful for optimizing code with respect to information available only at run-time. Writing a code generator is, however, difficult and error prone. We consider a simple language for writing code generators and propose an automated method for verifying code generators. Our method is based on higher-order model checking, and can check that a given code generator can generate only closed, well-typed programs. Compared with typed multi-stage programming languages, our approach is less conservative on the typability of generated programs (i.e., can accept valid code generators that would be rejected by typical multi-stage languages) and can check a wider range of properties of code generators. We have implemented the proposed method and confirmed its effectiveness through experiments.
Takashi Suwa, Takeshi Tsukada, Naoki Kobayashi 0001, Atsushi Igarashi
PEPM1