To build safe and reliable systems, it is important not only to create products (that is, programs) but also to properly design and maintain networks and development processes. Our laboratory treats these three elements—programs, networks, and development processes—as research targets. We focus on how to use natural language processing and machine learning technologies to solve real problems in actual system development rather than only on improving algorithm accuracy. At the same time, we use advanced technologies such as deep learning and natural language processing as part of our problem-solving approach. Because of this, our field allows students to learn the domain knowledge required for software development while also studying cutting-edge technologies. This makes our lab a practical place to learn for students considering careers as IT consultants, systems engineers, network engineers, or programmers.

① A strong sense of good software developmentYou will acquire the know-how and skills to derive more efficient and effective methods for important software development processes (design, implementation, quality testing, maintenance, and operation) and infrastructure technologies such as cloud computing. You will learn methods adopted by major companies and global software development firms and develop a strong sense for cutting-edge technology.
② Mastery of advanced trend technologiesYou will learn state-of-the-art technologies that support next-generation society (AI, big data, cloud, IoT, etc.), as well as foundational related fields such as formal language theory, automata, process algebra, and graph theory. This helps you build practical skills that can be applied in the real world.
③ Global communication skills for taking on the worldYou can take on active research activities domestically and internationally, making this lab a great fit for anyone who wants to thrive in a global environment.
We have established a student-centered supervision system that respects each student’s research interests. After students join our lab, multiple faculty members spend time working with them to decide which area they want to explore. From the perspectives of software development, AI and big data analysis, and cloud computing, we draw out each student’s latent interests and technical strengths and design highly original research plans.
We also actively collaborate with universities in many countries and regions, including the United States, Canada, the Netherlands, Switzerland, and Thailand. When appropriate, we send students to short-term internships at overseas or domestic research institutions so they can improve their research results. We encourage active external presentation of research outcomes and aim for presentations at domestic research meetings, international conferences, and academic journals.
Our lab accepts students from a wide variety of backgrounds. However, to proceed efficiently in research, a strong interest in software mechanisms and software development is essential.
The following abilities are strengths for conducting research. They are not mandatory before admission, but they are knowledge and skills we hope you will develop during the two years of the master’s program.
① Programming skillsYou do not need advanced software development skills before admission, but development skills are a powerful asset for producing research that can influence the world.
② Foundational mathematical literacy such as statisticsFoundational mathematical literacy in areas such as statistics is very useful for big data analysis and AI applications.
③ English speaking, reading, and writing skillsResearch activities are becoming increasingly global, and English communication skills are essential as international collaboration increases.
Graduates are active at companies and universities related to software.
One MacBook Air (provided by ITC) or MacBook Pro (provided by the lab) per student
Cluster systemA compute cluster with 57 connected servers, over 2800 CPU cores, about 25 TB of memory, and 16 NVIDIA A100 GPUs is available for a variety of scientific computing uses. This is a university-shared system, but our lab has accumulated usage know-how and many members can use it effectively.
Private cloud systemA private cloud system integrates ultra-fast, highly reliable network storage with 90 TB effective capacity and blade servers totaling 160 cores using a virtualization platform.
Supercomputer verification serverA one-chassis (8-node) PRIMEHPC FX700 system, the same type used for the Fugaku supercomputer, is configured with a total of 384 CPU cores.
Personal GPU serverAlthough GPU nodes in the cluster system are used in many cases, we also provide GPU machines when needed for debugging and other tasks. As of March 2023, we have servers equipped with NVIDIA RTX 4090 and other GPUs.
Database serverA server optimized specifically for databases with two Xeon Gold 6326 processors, 512 GB of memory, and about 100 TB of HDD storage. Hundreds of containers on the cluster system perform computations and store their results here.
Cutting-edge books on software developmentWe purchase dozens of leading books every year. The number of books is estimated to be five to ten times the amount shown in this photo.
Desks and monitorsDesks are arranged in a fan shape rather than side by side so students can concentrate. Each student is provided with two monitors, with at least one of them being 4K.
Student roomRenovated in 2022 and kept clean. Two Roombas clean the room every day.
Meeting room
Small meeting room
Meeting room and lounge
Lounge space and espresso machine
To join our lab, you first need to pass the entrance exam. Studying entrance subjects such as mathematics and English is very important. At the same time, as the NAIST official page explains, essays and interviews account for the majority of the exam score. Therefore, it is important to understand the problems and research trends addressed in this field. If you majored in the same field during your undergraduate studies, it may be easier, but most students do not. We recommend starting with the following.
If you are visiting our website, you have likely already read the research information posted here. However, this website only shows a portion of our work. The latest research is often not posted here because it cannot be made public on the website. First, try attending the open campus events held in February and May or the Anytime Lab Visit. During the Anytime Lab Visit, you can learn about the latest research not introduced on the website, consult about future research themes, and casually talk with faculty and students. Many prospective students attend each year, and the program is open year-round. Online participation is also available, so remote visitors can join easily.
The open campus and Anytime Lab Visit are one-day events, so it may still be hard to imagine specific research themes. In that case, we recommend participating in the NAIST Summer Seminar held in August (applications open around July) or the Spring Seminar held in March (applications open around February). In these seminars, you can experience research practice for two days with our faculty.
Past seminar themes have included:
You can also take a longer optional research experience. Specifically, there are Anytime Trial Enrollment and Internship programs (we recommend internships of one week or longer). Both allow you to experience actual research and discuss your future research theme during the program. In the past, some participants continued research after the internship and even reached academic conference presentations.
Note that travel expenses are also provided for internships. Although the official page says you should apply at least one month in advance, you may still be able to participate if you consult directly with our lab. Also, the seminars and internships do not require high ability or practical skills from applicants (basic programming understanding is sufficient), so you can participate to learn about our lab’s research. Thank you for your consideration.