日本語

Refereed Papers

2023

Collecting Cyclic Garbage across Foreign Function Interfaces: Who Takes the Last Piece of Cake?

2022

An Anomaly-based Approach for Detecting Modularity Violations on Method Placement

Yet Another Generating Method of Fluent Interfaces Supporting Flat- and Sub-chaining Styles

2021

Fusuma: Double-Ended Threaded Compaction

Domain-specific programming assistance in an embedded DSL for generating processor emulators

2020

Lake symbols for island parsing

Generating a Generic Fluent API in Java

An Empirical Study of Method Chaining in Java

2019

Generating a fluent API with syntax checking from an LR grammar

Foreign language interfaces by code migration

Buffered Garbage Collection: An Approach to Collecting Self-Created Garbage Objects

Cross-Language Clone Detection by Learning Over Abstract Syntax Trees

Generating fluent embedded domain-specific languages with subchaining

2018

Buffered Garbage Collection for Self-Reflective Customization

Call-trail Dependent Inline Caching for a Scoping Mechanism of Class Extensions

2017

Reducing calling convention overhead in object-oriented programming on embedded ARM thumb-2 platforms

Silverchain: A Fluent API Generator

SEMem: Deployment of MPI-Based In-Memory Storage for Hadoop on Supercomputers

User-Defined Operators Including Name Binding for New Language Constructs

2016

Deeply Reifying Running Code for Constructing a Domain-Specific Language

Expanding Event Systems to Support Signals by Enabling the Automation of Handler Bindings

HPC-Reuse: efficient process creation for running MPI and Hadoop MapReduce on supercomputers

2015

Inverse Macro in Scala

Almost First-Class Language Embedding: Taming Staged Embedded DSLs

Calculation Coverage Testing for Scientific Applications

Enabling the Automation of Handler Bindings in Event-Driven Programming

2014

Implicit Staging of EDSL Expressions: A Bridge between Shallow and Deep Embedding

Composable User-Defined Operators That Can Express User-Defined Literals

Method Slots: Supporting Methods, Events, and Advices by a Single Language Construct

2013

Implementing Feature Interactions with Generic Feature Modules

Method Shells: Avoiding Conflicts on Destructive Class Extensions by Implicit Context Switches

2012

A Self-protection Mechanism against Stepping-stone Attacks for IaaS Clouds

Preventing Information Leakage from Virtual Machines' Memory in IaaS Clouds

Method Shelters: Avoiding Conflicts Among Class Extensions Caused by Local Rebinding

Do We Really Need Extending Syntax for Advanced Modularity?

2011

Fast Software Rejuvenation of Virtual Machine Monitors

Distributed Dynamic Weaving is a Crosscutting Concern

2010

A Secure System-wide Process Scheduler across Virtual Machines

Mostly modular compilation of crosscutting concerns by contextual predicate dispatch

Optimizing Dynamic Dispatch with Fine-Grained State Tracking

An Advice for Advice Composition in AspectJ

How to Select Superinstructions for Ruby

Tool support for crosscutting concerns of API documentation

2009

Extending AspectJ for Separating Regions

Application-Level Scheduling Using AOP

BitVisor: a Thin Hypervisor for Enforcing I/O Device Security

2008

A Small Extension to Java for Class Refinement

2007

A Fast Rejuvenation Technique for Server Consolidation with Virtual Machines

AspectScope: An Outline Viewer for AspectJ Programs

Aspect-oriented Application-level Scheduling for J2EE Servers

2006

A Dynamic Aspect-oriented System for OS Kernels

2005

Aspect-Oriented Programming beyond Dependency Injection

Loosely-separated "Sister" Namespaces in Java

HyperSpector: Virtual Distributed Monitoring Environments for Secure Intrusion Detection

2004

Remote Pointcut --- A Language Construct for Distributed AOP

Josh: An Open AspectJ-like Language

2003

Secure and Manageable Virtual Private Networks for End-users

A Selective, Just-in-Time Aspect Weaver

An Easy-to-Use Toolkit for Efficient Java Bytecode Translators

2002

A New Optimization Technique for the Inspector-Executor Method

2001

A Bytecode Translator for Distributed Execution of "Legacy" Java Software

A Secure Access Control Mechanism against Internet Crackers

2000

OpenJava: A Class-based Macro System for Java

Load-time Structural Reflection in Java

1998

Operating System Support for Easy Development of Distributed File Systems

Macro Processing in Object-Oriented Languages

1996

Avoiding Confusion in Metacircularity:The Meta-Helix

1995

A Metaobject Protocol for C++

1993

Designing an Extensible Distributed Language with a Meta-Level Architecture

1992

A Weak Consistency to Implement Distributed Tuple Space