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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Tian Zhao 0002

dblp:56/3690-2 · DBLP profile ↗
← Back
20ranked-venue papers
6as first author
1since 2021 · last 2021
0000-0002-2107-9593ORCID · corroborated

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

Software engineering, systems software and programming languages · 12 · 5 first-author · 1 since 2021Theory of computation · 6Systems, architecture and hardware · 1Databases, data management, data science and information retrieval · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 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
8 papers
Programming languages and type systems · 94% Program analysis · 6%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Embedded and real-time systems · 56% Memory systems · 44%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
type systems
0.242004
Type inference for record concatenation and subtyping · Inf. Comput. 2004
Scoped Types for Real-Time Java · RTSS 2004
Lightweight confinement for featherweight Java · OOPSLA 2003
Programming languages and type systems › type systems
subtyping
0.142004
Type inference for record concatenation and subtyping · Inf. Comput. 2004
Efficient Type Inference for Record Concatenation and Subtyping · LICS 2002
Efficient and Flexible Matching of Recursive Types · Inf. Comput. 2001
Programming languages and type systems
type inference
0.132005
Automatic discovery of covariant read-only fields · ACM Trans. Program. Lang. Syst. 2005
Type inference for record concatenation and subtyping · Inf. Comput. 2004
Efficient Type Inference for Record Concatenation and Subtyping · LICS 2002
Programming languages and type systems › type inference
record concatenation
0.122004
Type inference for record concatenation and subtyping · Inf. Comput. 2004
Efficient Type Inference for Record Concatenation and Subtyping · LICS 2002
Programming languages and type systems › type systems
recursive types
0.122002
Efficient Type Inference for Record Concatenation and Subtyping · LICS 2002
Efficient and Flexible Matching of Recursive Types · LICS 2000
Programming languages and type systems › type checking
type equivalence
0.122001
Efficient and Flexible Matching of Recursive Types · Inf. Comput. 2001
Efficient and Flexible Matching of Recursive Types · LICS 2000
Programming languages and type systems › object-oriented programming
object calculi
0.112005
Automatic discovery of covariant read-only fields · ACM Trans. Program. Lang. Syst. 2005
Program analysis
static analysis
0.012004
Stack size analysis for interrupt-driven programs · Inf. Comput. 2004
Memory systems
memory management
0.012004
Scoped Types for Real-Time Java · RTSS 2004
Embedded and real-time systems › real-time programming languages
real-time java
0.012004
Scoped Types for Real-Time Java · RTSS 2004
Programming languages and type systems › type systems › polymorphism
generic types
0.012003
Lightweight confinement for featherweight Java · OOPSLA 2003
Embedded and real-time systems › event-driven systems
interrupt-driven programs
0.012004
Stack size analysis for interrupt-driven programs · Inf. Comput. 2004

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

type soundness proof · 0.1type constraint solving · 0.1complexity analysis · 0.1unification · 0.0constraint solving · 0.0static type system · 0.0soundness proof · 0.0polynomial-time algorithm · 0.0coinduction · 0.0automata theory · 0.0
YearPublicationVenuePosition
2021 A concurrency model for JavaScript with cooperative cancellation
abstract
This paper proposes a concurrency model for JavaScript with thread-like abstractions and cooperative cancellation. JavaScript uses an event-driven model, where an active computation runs until it completes or blocks for an event while concurrent computations wait for other events as callbacks. With the introduction of Promises, the control flow of callbacks can be written in a more direct style. However, the event-based model is still a source of confusion with regard to execution order, race conditions, and termination.
Tian Zhao 0002, Yonglun Li
SLE1
2017 Typing and semantics of asynchronous arrows in JavaScript
Eric Fritz, Tian Zhao 0002
Sci. Comput. Program.2
2014 Rule-based detection of design patterns in program code
Awny Alnusair, Tian Zhao 0002, Gongjun Yan
Int. J. Softw. Tools Technol. Transf.2
2011 Polymorphic type inference for scripting languages with object extensions
abstract
This paper presents a polymorphic type inference algorithm for a small subset of JavaScript. The goal is to prevent accessing undefined members of objects. We define a type system that allows explicit extension of objects through add operation and implicit extension through method calls. The type system also permits strong updates and unrestricted extensions to new objects. The type inference algorithm is modular so that each function definition is only analyzed once and larger programs can be checked incrementally.
Tian Zhao 0002
DLS1
2010 Towards logic-based geospatial feature discovery and integration using web feature service and geospatial semantic web
abstract
Open geospatial consortium (OGC) web feature services (WFSs) facilitate feature-level spatial data sharing over the web. However, OGC WFSs only emphasize technical data interoperability via standard interfaces and cannot resolve semantic heterogeneity problems in spatial data sharing. The lack of explicit semantics in the OGC WFS description proves to be a major limitation to automatic geospatial feature discovery and WFS composition. To overcome these limitations, this study proposed a solution for searching, discovering, and composing semantically heterogeneous transportation spatial data at feature level from different sources over the web through providing semantic specifications of WFSs. Geospatial semantic web technologies such as description logic, description logic-based reasoner, inference rules, and web ontology language ontologies were used to support geospatial feature data interoperability at the semantic level. Algorithms for automatic geospatial feature discovery and WFS composition were developed in this article.
Chuanrong Zhang, Tian Zhao 0002, Weidong Li 0003, Jeffrey P. Osleeb
Int. J. Geogr. Inf. Sci.2
2009 ScalaQL: Language-Integrated Database Queries for Scala
Daniel Spiewak, Tian Zhao 0002
SLE2
2008 Implicit ownership types for memory management
Tian Zhao 0002, Jason Baker, James Hunt, James Noble 0001, Jan Vitek
Sci. Comput. Program.1
2007 Scoped types and aspects for real-time Java memory management
Chris Andreae, Yvonne Coady, Celina Berg, James Noble 0001, Jan Vitek, Tian Zhao 0002
Real Time Syst.6
2006 Scoped Types and Aspects for Real-Time Java
Chris Andreae, Yvonne Coady, Celina Berg, James Noble 0001, Jan Vitek, Tian Zhao 0002
ECOOP6
2006 Type-based confinement
abstract
Confinement properties impose a structure on object graphs which can be used to enforce encapsulation properties. From a practical point of view, encapsulation is essential for building secure object-oriented systems as security requires that the interface between trusted and untrusted components of a system be clearly delineated and restricted to the smallest possible set of operations and data structures. This paper investigates the notion of package-level confinement and proposes a type system that enforces this notion for a call-by-value object calculus as well as a generic extension thereof. We give a proof of soundness of this type system, and establish links between this work and related research in language-based security.
Tian Zhao 0002, Jens Palsberg, Jan Vitek
J. Funct. Program.1
2005 Automatic discovery of covariant read-only fields
abstract
Read-only fields are useful in object calculi, pi calculi, and statically typed intermediate languages because they admit covariant subtyping, unlike updateable fields. For example, Glew's translation of classes and objects to an intermediate calculus relies crucially on covariant subtyping of read-only fields to ensure that subclasses are translated to subtypes.In this article, we present a type inference algorithm for an Abadi--Cardelli object calculus in which fields are marked either as updateable or as read-only. The type inference problem is P-complete, and our algorithm runs in O ( n 3 ) time. The same complexity results hold for the calculus in which the fields are not explicitly annotated as updateable or read-only; perhaps surprisingly, the annotations do not make type inference easier. We show that type inference is equivalent to the problem of solving type constraints, and this forms the core of our algorithm and implementation.
Jens Palsberg, Tian Zhao 0002, Trevor Jim
ACM Trans. Program. Lang. Syst.2
2004 Scoped Types for Real-Time Java
abstract
A memory model based on scoped areas is one of the distinctive features of the Real-Time Specification for Java (RTSJ). Scoped types ensure timely reclamation of memory and predictable performance. The price to pay for these benefits is an unfamiliar programming model that, at the same time, is complex, requires checking all memory accesses, and rewards design-time errors with run-time crashes. We investigate an alternative approach, referred to as scoped types, that simplifies the task of managing memory in real-time codes. The key feature of our proposal is that the run-time partition of memory imposed by scoped areas is straightforwardly mirrored in the program text. Thus cursory inspection of a program reveals which objects inhabit the different scopes, significantly simplifying the task of understanding real-time Java programs. Moreover, we introduce a type system which ensures that no run-time errors due to memory access checks occur. Thus a RTSJ-compliant virtual machine does not require memory access checks. The contributions of this paper are the concept of scoped types, and a proof soundness of the type system. Experimental results are described in future work.
Tian Zhao 0002, James Noble 0001, Jan Vitek
RTSS1
2004 Stack size analysis for interrupt-driven programs
Krishnendu Chatterjee, Rupak Majumdar, Tian Zhao 0002, Thomas A. Henzinger, Jens Palsberg
Inf. Comput.4
2004 Type inference for record concatenation and subtyping
Jens Palsberg, Tian Zhao 0002
Inf. Comput.2
2003 Lightweight confinement for featherweight Java
abstract
Confinement properties impose a structure on object graphs which can be used to enforce encapsulation properties essential to certain program optimizations, modular reasoning, and software assurance. This paper formalizes the notion of confined type in the context of Featherweight Java. A static type system that mirrors the informal rules of Grothoff et al [17] is proven sound. The definition of confined types is extended to confined instantiation of generic classes. This allows for confined collection types in Java and for classes that can be confined post hoc. Confinement type rules are given for Generic Featherweight Java, and proven sound.
Tian Zhao 0002, Jens Palsberg, Jan Vitek
OOPSLA1
2003 Stack Size Analysis for Interrupt-Driven Programs
Krishnendu Chatterjee, Rupak Majumdar, Tian Zhao 0002, Thomas A. Henzinger, Jens Palsberg
SAS4
2002 Efficient Type Matching
Somesh Jha, Jens Palsberg, Tian Zhao 0002
FoSSaCS3
2002 Efficient Type Inference for Record Concatenation and Subtyping
abstract
Record concatenation, multiple inheritance, and multiple-object cloning are closely related and part of various language designs. For example, in Cardelli's untyped Obliq language, a new object can be constructed from several existing objects by cloning followed by concatenation; an error is given in case of field name conflicts. Type systems for record concatenation have been studied by M. Wand (1991), R. Harper and B. Pierce (1991), D. Remy (1992), and others; and type inference for the combination of record concatenation and subtyping has been studied by M. Sulzmann (1997) and by F. Pottier (2000). In this paper we present the first polynomial-time type inference algorithm for record concatenation, subtyping, and recursive types. Our example language is the Abadi-Cardelli object calculus extended with a concatenation operator The type inference algorithm runs in O(n/sup 5/) time where n is the size of the program. Our algorithm enables efficient type checking of Obliq programs without changing the programs at all.
Jens Palsberg, Tian Zhao 0002
LICS2
2001 Efficient and Flexible Matching of Recursive Types
Jens Palsberg, Tian Zhao 0002
Inf. Comput.2
2000 Efficient and Flexible Matching of Recursive Types
abstract
Equality and subtyping of recursive types have been studied in the 1990s by: R.M. Amadaio and L. Cardelli (1993); D. Kozen et al. (1993); M. Brandt and F. Henglein (1997) and others. Potential applications include automatic generation of bridge code for multi-language systems and type-based retrieval of software modules from libraries. J. Auerbach et al. (1998) advocate a highly flexible combination of matching rules for which there, until now, are no efficient algorithmic techniques. We present an efficient decision procedure for a notion of type equality that includes unfolding of recursive types, and associativity and commutativity of product types, as advocated by Auerbach et al. For two types of size at most n, our algorithm decides equality in O(n/sup 2/) time. The algorithm iteratively prunes a set of type pairs, and eventually it produces a set of pairs of equal types. In each iteration, the algorithm exploits a so-called coherence property of the set of type pairs produced in the preceding iteration. The algorithm takes O(n) iterations, each of which takes O(n) time, for a total of O(n/sup 2/) time.
Jens Palsberg, Tian Zhao 0002
LICS2