Thank you for your interest in joining the Lab of Software. We are a group of researchers who are passionate about software engineering and programming languages. Here, I will answer some of the questions you might have about joining the lab. If you have any other questions, please feel free to contact me.
As the name of the lab suggests, we do research on software. While we are interested in various aspects of software, we typically develop techniques that improve software. For example, we have built diverse techniques that automatically fix software bugs. The following figure shows the concept of automatic bug fixing, also known as automated program repair. Beneath the figure, you will find a selection of sample papers that we have published on this topic.
Automated Program Repair |
Program repair, while being one of our main research topics, is an instance of a more general research theme that we pursue: program transformation. In the case of program repair, the transformation is from a buggy program to a correct program. The following lists some of the other program transformation techniques we have been working on:
A key distinctive feature of our research is that we develop techniques that are trustworthy. With the advent of large language models, transforming programs has become easier than ever. However, ensuring the correctness of the transformation remains a significant challenge. We tackle this challenge using program verification techniques whereby we demonstrate the correctness of the transformation.
We strive to maintain a supportive and research-friendly environment for our lab members. You will have access to state-of-the-art hardware equipment and software tools that you need for your research. We provide competitive financial support and tuition waivers. We typically publish our research at top-tier conferences and you will have the opportunity to present your work at these conferences, with all travel expenses fully covered.
We seek students who are passionate about software engineering, programming languages, and software security. We particularly welcome those who are ambitious and eager to cultivate futuristic visions, opening up new directions of research. We encourage the lab members to lead new trends rather than follow them.