Keiko Nakata 0001

dblp:22/1423 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
0since 2021 · last 2016
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 4 first-authorTheory of computation · 3Security and privacy · 1

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
4 papers
Programming languages and type systems · 61% Program verification · 35% Software testing · 4%
Network and information security
1 paper
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
type systems
0.322013
Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types · ICALP (2) 2013
A syntactic type system for recursive modules · OOPSLA 2011
Program verification › system verification › systems code verification
hypervisor verification
0.212016
Combining Mechanized Proofs and Model-Based Testing in the Formal Analysis of a Hypervisor · FM 2016
Program verification › formal proof
mechanized proof
0.212016
Combining Mechanized Proofs and Model-Based Testing in the Formal Analysis of a Hypervisor · FM 2016
Programming languages and type systems
abstract data types
0.212013
Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types · ICALP (2) 2013
Program verification
information flow security
0.212013
Securing Class Initialization in Java-like Languages · IEEE Trans. Dependable Secur. Comput. 2013
Programming languages and type systems › type systems
recursive types
0.212013
Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types · ICALP (2) 2013
Programming languages and type systems › computational effects
type and effect systems
0.212013
Securing Class Initialization in Java-like Languages · IEEE Trans. Dependable Secur. Comput. 2013
Programming languages and type systems
module systems
0.112011
A syntactic type system for recursive modules · OOPSLA 2011
Programming languages and type systems › module systems
recursive modules
0.112011
A syntactic type system for recursive modules · OOPSLA 2011
Programming languages and type systems › type checking
type equivalence
0.112011
A syntactic type system for recursive modules · OOPSLA 2011
Software testing
model-based testing
0.112016
Combining Mechanized Proofs and Model-Based Testing in the Formal Analysis of a Hypervisor · FM 2016
Systems and software security
language-based security
0.012013
Securing Class Initialization in Java-like Languages · IEEE Trans. Dependable Secur. Comput. 2013
Systems and software security › information flow control
noninterference
0.012013
Securing Class Initialization in Java-like Languages · IEEE Trans. Dependable Secur. Comput. 2013

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

type system design · 0.3termination-insensitive noninterference proof · 0.3model-based testing · 0.2mechanized proof · 0.2weak bisimilarity · 0.1type normalization · 0.1syntactic type system · 0.1
YearPublicationVenuePosition
2016 Combining Mechanized Proofs and Model-Based Testing in the Formal Analysis of a Hypervisor
Hanno Becker, Juan Manuel Crespo, Jacek Galowicz, Ulrich Hensel, Yoichi Hirai, César Kunz, Keiko Nakata 0001, Jorge Luis Sacchini, Hendrik Tews, Thomas Tuerk
FM7
2015 A Dynamic Logic with Traces and Coinduction
Richard Bubel, Crystal Chang Din, Reiner Hähnle, Keiko Nakata 0001
TABLEAUX4
2013 Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types
Hyeonseung Im, Keiko Nakata 0001
ICALP (2)2
2013 Securing Class Initialization in Java-like Languages
abstract
Language-based information-flow security is concerned with specifying and enforcing security policies for information flow via language constructs. Although much progress has been made on understanding information flow in object-oriented programs, little attention has been given to the impact of class initialization on information flow. This paper turns the spotlight on security implications of class initialization. We reveal the subtleties of information propagation when classes are initialized, and demonstrate how these flows can be exploited to leak information through error recovery. Our main contribution is a type-and-effect system which tracks these information flows. The type system is parameterized by an arbitrary lattice of security levels. Flows through the class hierarchy and dependencies in field initializers are tracked by typing class initializers wherever they could be executed. The contexts in which each class can be initialized are tracked to prevent insecure flows of out-of-scope contextual information through class initialization statuses and error recovery. We show that the type system enforces termination-insensitive noninterference.
Willard Rafnsson, Keiko Nakata 0001, Andrei Sabelfeld
IEEE Trans. Dependable Secur. Comput.2
2011 A Proof Pearl with the Fan Theorem and Bar Induction - Walking through Infinite Trees with Mixed Induction and Coinduction
Keiko Nakata 0001, Tarmo Uustalu, Marc Bezem
APLAS1
2011 A syntactic type system for recursive modules
abstract
A practical type system for ML-style recursive modules should address at least two technical challenges. First, it needs to solve the double vision problem, which refers to an inconsistency between external and internal views of recursive modules. Second, it needs to overcome the tension between practical decidability and expressivity which arises from the potential presence of cyclic type definitions caused by recursion between modules. Although type systems in previous proposals solve the double vision problem and are also decidable, they fail to typecheck common patterns of recursive modules, such as functor fixpoints, that are essential to the expressivity of the module system and the modular development of recursive modules. This paper proposes a novel type system for recursive modules that solves the double vision problem and typechecks common patterns of recursive modules including functor fixpoints. First, we design a type system with a type equivalence based on weak bisimilarity, which does not lend itself to practical implementation in general, but accommodates a broad range of cyclic type definitions. Then, we identify a practically implementable fragment using a type equivalence based on type normalization, which is expressive enough to typecheck typical uses of recursive modules. Our approach is purely syntactic and the definition of the type system is ready for use in an actual implementation.
Hyeonseung Im, Keiko Nakata 0001, Jacques Garrigue
OOPSLA2
2010 A Hoare Logic for the Coinductive Trace-Based Big-Step Semantics of While
Keiko Nakata 0001, Tarmo Uustalu
ESOP1
2009 Small-step and big-step semantics for call-by-need
abstract
Abstract We present natural semantics for acyclic as well as cyclic call-by-need lambda calculi, which are proved equivalent to the reduction semantics given by Ariola and Felleisen ( J. Funct. Program. , vol. 7, no. 3, 1997). The natural semantics are big-step and use global heaps, where evaluation is suspended and memorized. The reduction semantics are small-step, and evaluation is suspended and memorized locally in let-bindings. Thus two styles of formalization describe the call-by-need strategy from different angles. The natural semantics for the acyclic calculus is revised from the previous presentation by Maraist et al . ( J. Funct. Program. , vol. 8, no. 3, 1998), and its adequacy is ascribed to its correspondence with the reduction semantics, which has been proved equivalent to call-by-name by Ariola and Felleisen. The natural semantics for the cyclic calculus is inspired by that of Launchbury (1993) and Sestoft (1997), and we state its adequacy using a denotational semantics in the style of Launchbury; adequacy of the reduction semantics for the cyclic calculus is in turn ascribed to its correspondence with the natural semantics.
Keiko Nakata 0001, Masahito Hasegawa
J. Funct. Program.1
2006 Recursive modules for programming
abstract
TheML module system is useful for building large-scale programs. The programmer can factor programs into nested and parameterized modules, and can control abstraction with signatures. Yet ML prohibits recursion between modules. As a result of this constraint, the programmer may have to consolidate conceptually separate components into a single module, intruding on modular programming. Introducing recursive modules is a natural way out of this predicament. Existing proposals, however, vary in expressiveness and verbosity. In this paper, we propose a type system for recursive modules, which can infer their signatures. Opaque signatures can also be given explicitly, to provide type abstraction either inside or outside the recursion. The type system is decidable, and is sound for a call-by-value semantics. We also present a solution to the expression problem, in support of our design choices.
Keiko Nakata 0001, Jacques Garrigue
ICFP1