A graph-based generic type system for object-oriented programs

Wei Ke, Zhiming Liu, Shuling Wang, Liang Zhao

Research output: Contribution to journalArticlepeer-review

6 Citations (Scopus)

Abstract

We present a graph-basedmodel of a generic type system for an OO language. The type system supports the features of recursive types, generics and interfaces, which are commonly found in modern OO languages such as Java. In the classical graph theory, we define type graphs, instantiation graphs and conjunction graphs that naturally illustrate the relations among types, generics and interfaces within complex OO programs. The model employs a combination of nominal and anonymous nodes to represent respectively types that are identified by names and structures, and defines graph-based relations and operations on types including equivalence, subtyping, conjunction and instantiation. Algorithms based on the graph structures are designed for the implementation of the type system. We believe that this type system is important for the development of a graph-based logical foundation of a formal method for verification of and reasoning about OO programs.

Original languageEnglish
Pages (from-to)109-134
Number of pages26
JournalFrontiers of Computer Science
Volume7
Issue number1
DOIs
Publication statusPublished - Feb 2013

Keywords

  • OO programs
  • generics
  • recursive types
  • type graphs
  • type systems

Fingerprint

Dive into the research topics of 'A graph-based generic type system for object-oriented programs'. Together they form a unique fingerprint.

Cite this