Research Institute of Electrical Communication Tohoku University


Atsushi Ohori,Professor

Katsuhiro Ueno,Associate Professor

Atsushi Ohori Katsuhiro Ueno


Research Activities

Nowadays, a variety of software systems manage everything in the world. Firm foundations for developing high performance and highly reliable software are essential for continuous advance of our societies. We are focusing on programming languages and database systems, which provide foundations of software development and data management. We are also developing a new practical ML-style programming language, SML#, which embodies our recent results such as record polymorphism and native data representation.

Laboratory Web Page

Software Construction (Prof. Ohori)

A key technology to enhance the reliability of software systems is to develop a high-level programming language that can directly represent various resources and can automatically detect potential inconsistencies. Based on this general observation, our research aims at establishing firm theoretical basis and implementation technique for a reliable and flexible programming language. One direction toward this goal is to establish logical foundations for compilation, such as a proof-theory that accounts for the entire process of compilation.

Research topics

  • Development of SML#, a new ML-style polymorphic programming language
  • Reliable and productive Web programming framework
  •  Logical foundation for compilation
  •  Integration of databases and programming languages

Reliable Software Development (Assoc. Prof. Ueno)

Towards realizing a highly productive and reliable programming language, we are developing techniques for full-scale compiler construction and essential programming features for practical software development. Major research topics include a heap management system for unobtrusive concurrent multicore programming, seamless interoperability between programming languages and external data, and formal semantics of practical progamming

Research topics:

  • Development of SML#, a new ML-style polymorphic programming language
  • Implementation technique for programming languages
  • Formal semantics for practical programming languages

SML# feature: native thread support on multicore CPUs
Highly efficient fully concurrent non-moving GC algorithm