Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mitsuharu Yamamoto is active.

Publication


Featured researches published by Mitsuharu Yamamoto.


theorem proving with analytic tableaux and related methods | 2005

A decision procedure for the alternation-free two-way modal µ-calculus

Yoshinori Tanabe; Koichi Takahashi; Mitsuharu Yamamoto; Akihiko Tozawa; Masami Hagiya

The satisfiability checking problem is known to be decidable for a variety of modal/temporal logics such as the modal μ-calculus, but effective implementation has not necessarily been developed for all such logics. In this paper, we propose a decision procedure using the tableau method for the alternation-free two-way modal μ-calculus. Although the size of the tableau set maintained in the method might be large for complex formulas, the set and the operations on it can be expressed using BDD and therefore we can implement the method in an effective way.


automated software engineering | 2009

Cache-Based Model Checking of Networked Applications: From Linear to Branching Time

Cyrille Artho; Watcharin Leungwattanakit; Masami Hagiya; Yoshinori Tanabe; Mitsuharu Yamamoto

Many applications are concurrent and communicate over a network. The non-determinism in the thread and communication schedules makes it desirable to model check such systems. However, a simple state space exploration scheme is not applicable, as backtracking results in repeated communication operations. A cache-based approach solves this problem by hiding redundant communication operations from the environment. In this work, we propose a change from a linear-time to a branching-time cache, allowing us to relax restrictions in previous work regarding communication traces that differ between schedules. We successfully applied the new algorithm to real-life programs where a previous solution is not applicable.


haifa verification conference | 2013

Modbat: A Model-Based API Tester for Event-Driven Systems

Cyrille Artho; Armin Biere; Masami Hagiya; Eric Platon; Martina Seidl; Yoshinori Tanabe; Mitsuharu Yamamoto

Model-based testing derives test executions from an abstract model that describes the system behavior. However, existing approaches are not tailored to event-driven or input/output-driven systems. In particular, there is a need to support non-blocking I/O operations, or operations throwing exceptions when communication is disrupted.


theorem proving in higher order logics | 1998

Formalization of Graph Search Algorithms and Its Applications

Mitsuharu Yamamoto; Koichi Takahashi; Masami Hagiya; Shin-ya Nishizaki; Tetsuo Tamai

This paper describes a formalization of a class of fixed-point problems on graphs and its applications. This class captures several well-known graph theoretical problems such as those of shortest path type and for data flow analysis. An abstract solution algorithm of the fixed-point problem is formalized and its correctness is proved using a theorem proving system. Moreover, the validity of the A* algorithm, considered as a specialized version of the abstract algorithm, is proved by extending the proof of the latter. The insights we obtained through these formalizations are described. We also discuss the extension of this approach to the verification of model checking algorithms.


IEEE Transactions on Software Engineering | 2014

Modular Software Model Checking for Distributed Systems

Watcharin Leungwattanakit; Cyrille Artho; Masami Hagiya; Yoshinori Tanabe; Mitsuharu Yamamoto; Koichi Takahashi

Distributed systems are complex, being usually composed of several subsystems running in parallel. Concurrent execution and inter-process communication in these systems are prone to errors that are difficult to detect by traditional testing, which does not cover every possible program execution. Unlike testing, model checking can detect such faults in a concurrent system by exploring every possible state of the system. However, most model-checking techniques require that a system be described in a modeling language. Although this simplifies verification, faults may be introduced in the implementation. Recently, some model checkers verify program code at runtime but tend to be limited to stand-alone programs. This paper proposes cache-based model checking, which relaxes this limitation to some extent by verifying one process at a time and running other processes in another execution environment. This approach has been implemented as an extension of Java PathFinder, a Java model checker. It is a scalable and promising technique to handle distributed systems. To support a larger class of distributed systems, a checkpointing tool is also integrated into the verification system. Experimental results on various distributed systems show the capability and scalability of cache-based model checking.


automated software engineering | 2013

Software model checking for distributed systems with selector-based, non-blocking communication

Cyrille Artho; Masami Hagiya; Richard Potter; Yoshinori Tanabe; Franz Weitl; Mitsuharu Yamamoto

Many modern software systems are implemented as client/server architectures, where a server handles multiple clients concurrently. Testing does not cover the outcomes of all possible thread and communication schedules reliably. Software model checking, on the other hand, covers all possible outcomes but is often limited to subsets of commonly used protocols and libraries. Earlier work in cache-based software model checking handles implementations using socket-based TCP/IP networking, with one thread per client connection using blocking input/output. Recently, servers using non-blocking, selector-based input/output have become prevalent. This paper describes our work extending the Java PathFinder extension net-iocache to such software, and the application of our tool to modern server software.


International Symposium on Software Security | 2003

UML Scrapbook and Realization of Snapshot Programming Environment

Osamu Sato; Richard Potter; Mitsuharu Yamamoto; Masami Hagiya

We have developed SBUML (Scrapbook for UML), an extension of UML (User-Mode Linux), by adding checkpointing functionality to UML. In this paper, we first describe the design and implementation of SBUML, and then propose a new snapshot programming environment, which is realized by the SBUML programming interfaces. The intended applications of SBUML include intrusion detection and sandboxing for network security, and software model checking for verifying multi-threaded programs. In particular, using snapshot programming, one can enumerate state spaces of programs actually running under Linux.


Proceedings of the Eighth International Workshop on Search-Based Software Testing | 2015

GRT at the SBST 2015 tool competition

Lei Ma; Cyrille Artho; Cheng Zhang; Hiroyuki Sato; Masami Hagiya; Yoshinori Tanabe; Mitsuharu Yamamoto

GRT (Guided Random Testing) is an automatic test generation tool for Java code, which leverages static and dynamic program analysis to guide run-time test generation. In this paper, we summarize competition results and experiences of GRT in participating in SBST 2015, where GRT ranked first with a score of 203.73 points over 63 Java classes from 10 packages of 9 open-source software projects.


international symposium on functional and logic programming | 2004

Analysis of Synchronous and Asynchronous Cellular Automata Using Abstraction by Temporal Logic

Masami Hagiya; Koichi Takahashi; Mitsuharu Yamamoto; Takahiro Sato

We have been studying abstractions of linked structures, in which cells are connected by pointers, using temporal logic. This paper presents some our results for these abstractions. The system to be verified is a transition system on a graph. The shape of the graph does not change as a result of the transition, but the label assigned to each cell (node) changes according to rewrite rules. The labels of cells are changed synchronously or asynchronously. We abstract such systems using abstract cells and abstract graphs. Abstract cells are characterized by a set of temporal formulas, and different abstractions can be tried by changing the set of formulas. Some examples of analysis are also described.


automated software engineering | 2011

Model checking distributed systems by combining caching and process checkpointing

Watcharin Leungwattanakit; Cyrille Artho; Masami Hagiya; Yoshinori Tanabe; Mitsuharu Yamamoto

Verification of distributed software systems by model checking is not a straightforward task due to inter-process communication. Many software model checkers only explore the state space of a single multi-threaded process. Recent work proposes a technique that applies a cache to capture communication between the main process and its peers, and allows the model checker to complete state-space exploration. Although previous work handles non-deterministic output in the main process, any peer program is required to produce deterministic output. This paper introduces a process checkpointing tool. The combination of caching and process checkpointing makes it possible to handle non-determinism on both sides of communication. Peer states are saved as checkpoints and restored when the model checker backtracks and produces a request not available in the cache. We also introduce the concept of strategies to control the creation of checkpoints and the overhead caused by the checkpointing tool.

Collaboration


Dive into the Mitsuharu Yamamoto's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yoshinori Tanabe

National Institute of Informatics

View shared research outputs
Top Co-Authors

Avatar

Cyrille Artho

National Institute of Advanced Industrial Science and Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Koichi Takahashi

National Institute of Advanced Industrial Science and Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lei Ma

University of Tokyo

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge