Research Overview

Roles of software in the society are increasing, from management of personal information to operation of public transportations. A variety of sophisticated requirements are imposed on software development and operation, and resulting software is very large and complex.

Software Engineering

Our lab tackles research on methods and methodologies together with supporting tools, about how to efficiently construct software and keep it running with high quality. These efforts should have theoretical and empirical groundings, to be engineering (Software Engineering).

Software engineering involves various activities, from elicitation and analysis of requirements, design and program construction, their verification and testing, operation /management, and maintenance/improvement. It is also essential to provide dedicated support suitable for an application area and its characteristics.

Our lab is specifically focusing on the following areas:

Autonomous, Distributed Systems with Self-Adaptation

As technology and society of software change very rapidly, it is not enough to consider existing software. Our lab also works on presentations of emerging software paradigms and challenges in realizing them, timely in response to changes and demands.

As essential properties common in various areas, software should make required decisions by itself and adapt to environmental changes (autonomous, self-adaptive). In addition, collaborations are indispensable among software beyond physical distances and organizations (distributed). On the basis of techniques for these properties, our lab works on specific areas such as sensor networks and web.

Our lab is specifically focusing on the following areas:


In order to achieve meaningful contributions to the research fields mentioned above, we try to:

  • spot global movements
  • be visionaries
  • set cutting-edge research themes
  • deliver results that are above the state-of-the-art