Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Yoshinori Tanabe

dblp:40/6989 · DBLP profile ↗
← Back
14ranked-venue papers
2as first author
0since 2021 · last 2020
0000-0001-7259-3317ORCID · corroborated

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

Software engineering, systems software and programming languages · 10Theory of computation · 4 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Program verification · 80% Software testing · 18% Concurrent programming · 2%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Distributed systems · 76% Parallel and multicore computing · 24%

Topics — the 11 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
model checking
0.432014
Modular Software Model Checking for Distributed Systems · IEEE Trans. Software Eng. 2014
Model checking distributed systems by combining caching and process checkpointing · ASE 2011
Cache-Based Model Checking of Networked Applications: From Linear to Branching Time · ASE 2009
Program verification › model checking
software model checking
0.422014
Modular Software Model Checking for Distributed Systems · IEEE Trans. Software Eng. 2014
Software model checking for distributed systems with selector-based, non-blocking communication · ASE 2013
Program verification › model checking › software model checking
distributed system model checking
0.322013
Software model checking for distributed systems with selector-based, non-blocking communication · ASE 2013
Model checking distributed systems by combining caching and process checkpointing · ASE 2011
Program verification › model checking
modular model checking
0.212014
Modular Software Model Checking for Distributed Systems · IEEE Trans. Software Eng. 2014
Distributed systems
distributed system verification
0.222014
Model checking distributed systems by combining caching and process checkpointing · ASE 2011
Modular Software Model Checking for Distributed Systems · IEEE Trans. Software Eng. 2014
Software testing › web application testing
ajax application testing
0.212013
Automated verification of pattern-based interaction invariants in Ajax applications · ASE 2013
Program verification › dynamic verification
runtime verification
0.212013
Automated verification of pattern-based interaction invariants in Ajax applications · ASE 2013
Software testing
web application testing
0.212013
Automated verification of pattern-based interaction invariants in Ajax applications · ASE 2013
Parallel and multicore computing
concurrent system
0.112014
Modular Software Model Checking for Distributed Systems · IEEE Trans. Software Eng. 2014
Program verification › model checking
state space exploration
0.012011
Model checking distributed systems by combining caching and process checkpointing · ASE 2011
Concurrent programming
concurrency bugs
0.012009
Cache-Based Model Checking of Networked Applications: From Linear to Branching Time · ASE 2009

Methods — techniques the papers use, named apart from their topics

checkpointing · 0.4cache-based model checking · 0.4state-space exploration strategies · 0.2process checkpointing · 0.2caching · 0.2selector-based i/o modeling · 0.2net-iocache · 0.2invariant checking · 0.2design pattern analysis · 0.2backtracking · 0.1
YearPublicationVenuePosition
2020 Model-based testing of Apache ZooKeeper: Fundamental API usage and watchers
abstract
Summary In this paper, we extend work on model‐based testing for Apache ZooKeeper, to handle watchers (triggers) and improve scalability. In a distributed asynchronous shared storage like ZooKeeper, watchers deliver notifications on state changes. They are difficult to test because watcher notifications involve an initial action that sets the watcher, followed by another action that changes the previously seen state. We show how to generate test cases for concurrent client sessions executing against ZooKeeper with the tool Modbat. The tests are verified against an oracle that takes into account all possible timings of network communication. The oracle has to verify that there exists a chain of events that triggers both the initial callback and the subsequent watcher notification. We show in detail how the oracle computes whether watch triggers are correct and how the model was adapted and improved to handle these features. Together with a new search improvement that increases both speed and accuracy, we are able to verify large test setups and confirm several defects with our model.
Cyrille Artho, Kazuaki Banzai, Quentin Gros, Guillaume Rousset, Lei Ma 0003, Takashi Kitamura 0001, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto
Softw. Test. Verification Reliab.8
2019 Model-based Network Fault Injection for IoT Protocols
abstract
IoT devices operate in environments where networks may be unstable. They rely on transport protocols to deliver data with given quality-of-service settings. To test an implementation of the popular MQTT protocol thoroughly, we extend the model-based test framework “Modbat” to simulate unstable networks by taking into account delays and transmission failures. Our proxy-based technology requires no changes to the IoT software, while the model allows the user to define stateless or stateful types or fault patterns. We evaluate our methods on a client-server library for MQTT, a transport protocol designed for IoT.
Jun Yoneyama, Cyrille Artho, Yoshinori Tanabe, Masami Hagiya
ENASE3
2017 Model-Based API Testing of Apache ZooKeeper
abstract
Apache ZooKeeper is a distributed data storage that is highly concurrent and asynchronous due to network communication, testing such a system is very challenging. Our solution using the tool "Modbat" generates test cases for concurrent client sessions, and processes results from synchronous and asynchronous callbacks. We use an embedded model checker to compute the test oracle for non-deterministic outcomes, the oracle model evolves dynamically with each new test step. Our work has detected multiple previously unknown defects in ZooKeeper. Finally, a thorough coverage evaluation of the core classes show how code and branch coverage strongly relate to feature coverage in the model, and hence modeling effort.
Cyrille Artho, Quentin Gros, Guillaume Rousset, Kazuaki Banzai, Lei Ma 0003, Takashi Kitamura 0001, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto
ICST8
2016 Runtime Monitoring for Concurrent Systems
Yoriyuki Yamagata, Cyrille Artho, Masami Hagiya, Jun Inoue 0001, Lei Ma 0003, Yoshinori Tanabe, Mitsuharu Yamamoto
RV6
2015 Cardinality of UDP Transmission Outcomes
Franz Weitl, Nazim Sebih, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Yoriyuki Yamagata, Mitsuharu Yamamoto
SETTA5
2014 Modular Software Model Checking for Distributed Systems
abstract
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.
Watcharin Leungwattanakit, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto, Koichi Takahashi
IEEE Trans. Software Eng.4
2013 Software model checking for distributed systems with selector-based, non-blocking communication
abstract
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.
Cyrille Artho, Masami Hagiya, Richard Potter, Yoshinori Tanabe, Franz Weitl, Mitsuharu Yamamoto
ASE4
2013 Automated verification of pattern-based interaction invariants in Ajax applications
abstract
When developing asynchronous JavaScript and XML (Ajax) applications, developers implement Ajax design patterns for increasing the usability of the applications. However, unpredictable contexts of running applications might conceal faults that will break the design patterns, which decreases usability. We propose a support tool called JSVerifier that auto-matically verifies interaction invariants; the applications handle their interactions in invariant occurrence and order. We also present a selective set of interaction invariants derived from Ajax design patterns, as input. If the application behavior breaks the design patterns, JSVerifier automatically outputs faulty execution paths for debugging. The results of our case studies show that JSVerifier can verify the interaction invariants in a feasible amount of time, and we conclude that it can help developers increase the usability of Ajax applications.
Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe, Shinichi Honiden
ASE3
2011 Model checking distributed systems by combining caching and process checkpointing
abstract
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.
Watcharin Leungwattanakit, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto
ASE4
2011 Using Coq in Specification and Program Extraction of Hadoop MapReduce Applications
Kosuke Ono, Yoichi Hirai, Yoshinori Tanabe, Natsuko Noda, Masami Hagiya
SEFM3
2010 Decidability and Undecidability Results on the Modal µ-Calculus with a Natural Number-Valued Semantics
Alexis Goyet, Masami Hagiya, Yoshinori Tanabe
WoLLIC3
2009 Cache-Based Model Checking of Networked Applications: From Linear to Branching Time
abstract
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.
Cyrille Artho, Watcharin Leungwattanakit, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto
ASE4
2008 A decision procedure for alternation-free modal µ-calculi
Yoshinori Tanabe, Koichi Takahashi, Masami Hagiya
Advances in Modal Logic1
2005 A Decision Procedure for the Alternation-Free Two-Way Modal µ-Calculus
Yoshinori Tanabe, Koichi Takahashi, Mitsuharu Yamamoto, Akihiko Tozawa, Masami Hagiya
TABLEAUX1