(Assistant Professor, RIMS)
(Professor, Graduate School of Informatics)
A first for RIMS
Hasegawa: Welcome to Kyoto! How are you adjusting to your new environment and life here?
Muroya: Thank you! Everything is still new for me, but I’m gradually getting used to it and I’ve found that it’s very peaceful.
Igarashi: Let’s each take a moment to explain our research.
Hasegawa: I do primarily theoretical work. But over the course of my career I’ve interacted with groups working on software theory, mathematical logic, algorithms, and programing languages, all of which were popular in the 1970s. RIMS, the Research Institute for Mathematical Sciences, has gone through many changes over its long history. Today, my computer science group and that of Kazuhisa Makino — working on discrete optimization algorithms — are two major research foci at the institute.
But speaking of history, we have a milestone right here: the first female faculty member at RIMS!
Igarashi: Is that so? Congratulations!
Muroya: Yes, that’s me, and it’s why I’m a little nervous. In this day and age it’s a little rare that a department has no women in its faculty.
Hasegawa: We’ve been trying for some time now. Igarashi-sensei, how about at the School of Informatics?
Igarashi: Too few. We have over one hundred faculty members between the six departments. Among these, only a handful are female researchers.
Muroya: Looking at ratios, adding one female faculty member to RIMS would probably put the numbers at about the same level then.
A European approach
Hasegawa: Honestly though, you have a brilliant record and we’ve been really looking forward to having you join us. Europe leads in software and number theory research, so we are eager to recruit scholars who have experience there. I worked extensively at Edinburgh, and Muroya-sensei is working in the UK.
Muroya: Computer science in Europe is very different from in the United States. Complexity theory is more popular in North America.
Hasegawa: That’s right. Europe and the US go about solving problems in different ways. I agree that Japan follows a more European approach in this area.
Tools crossing the divide
Igarashi: I focus on programming languages, and specifically tool development. Often when programming I feel ashamed that my code ends up having so many bugs. I must always push myself to code better, but on the flip side, I blame cumbersome tools, which motivates me to invent something more user-friendly.
Programming languages are tools that human beings manipulate, so they should have cognitive aspects. But the real technical problems still lie at the mathematical level, so I aim to develop tools that are comprehensible to both humans and computers.
Hasegawa: I really see what you mean. As a mathematician I can’t help but compare mathematics to programming. And thinking theoretically, I assume that people struggle with coding because the theories behind them are not clear.
What I like about mathematics is that it never gets old: only upgraded. Results from ten or twenty years ago can be still highly useful today. But computer science evolves incessantly; what’s popular today can be old news tomorrow. Both the slow-pace of mathematics and the fast-pace of computer science are equally significant, so I seek to balance my life between the two.
Programming languages become useless with major software upgrades, which constantly annoys me. I must always be calm and professional about it!
Igarashi: As a child I picked up BASIC — thanks to my parents working for an electronics manufacturer — but when I enrolled in the University of Tokyo I wasn’t really sure what to study. Then I learned about the Department of Information Science, and fueled by a belief that computers would play a pivotal role in the future, I decided to join the department and work on program language theories, taking a mathematical approach.
Muroya: I also graduated from that same department at UTokyo! My father was a software engineer and had a huge Mac at home. He didn’t teach me to code and I wasn’t really interested, so in my first year at the department I was really intimidated by the C language —but somehow survived the curriculum.
The department included fields such as optimization, construction, and numerical calculation. I thought that optimization would change over time, and be worth studying, so I focused on theories that would help me capture their essence in mathematics.
You could say I study programming theory because I don’t write code.
Hasegawa: It takes so much time to write stylish code using smart algorithms, so I’m happy to leave that to truly talented people. Theories may take years to get used to, but once you master the basics and applications, you can apply them repeatedly and learn to explain them to others in plain language. That’s why I have devoted my life to studying theories.
Igarashi: Good theories and their results live on and on, don’t they?
Hasegawa: Yes indeed.
Muroya: Good theories don’t go out of style!
Hasegawa: On the other hand, even if you develop a really spectacular program, it will eventually become obsolete.
Hasegawa: Programming used to require professional skills, but the trend is changing and now it’s becoming everyone’s job. In mathematics, linear algebra and calculus are taught in the same way worldwide, with textbooks and teaching approaches being nearly universal.
Igarashi: Meanwhile in our field of informatics, trends are replaced at such a fast pace that there’s no time to settle down and establish a common approach.
Muroya: Right. Textbooks explaining important principles quickly become obsolete.
Speaking of which, I recall during my days at the University of Tokyo that instructors would say, “This is your homework,” with just some keywords on a slide, and nothing else. What to do with them depended on us.
Muroya: If anything it improved our net-searching skills! Most of the information that we need is available on the internet, including new languages. Online information is more up-to-date than textbooks.
Igarashi: That might be unique to our field. For instance, when students studying physics and mechanical engineering work on an assignment, they might go to the library for basic information.
Muroya: And they probably have standard textbooks.
Hasegawa: The basics in many fields don’t change dramatically, after all.
Igarashi: Another unique aspect of our field is that the most up-to-date information is uploaded by volunteers, and it is really accurate.
Muroya: There’s a vast amount of information available online which gives us the freedom to pick out just what we need. There are actually some textbooks on programming theory out there, but the bottom line is it’s all about independent thinking.
Hasegawa: Hold on— Muroya-sensei hasn’t talked about her research yet!
Muroya: All of this fascinating talk made me forget too!
My research isn’t about fixing code, but rather more about what I want to do with programs, and what I can do with tasks. For example, if there are some muddy tasks lying ahead of you, I aim to give advice on how to fix them using a broad approach.
Machine learning and probabilistic programming are not so clear-cut. What matters to me the most is that I offer better viewpoints, and assist with revising programs so that users feel happy and enjoy the increased convenience.
Hasegawa: Are you trying to expand the possibilities of programming languages by offering new insights?
Muroya: Not exactly the possibilities per se. My interests go deeper to the level of theories. I am looking for a unifying viewpoint that can be applied to different languages. I am not sure if applying this viewpoint to heavy hitting languages makes sense, but I want see what lies at the root level.
Igarashi: Such as finding commonly shared structures.
Muroya: Yes, exactly.
Hasegawa: Revolutionize programming languages at the root level?
Muroya: That would be spectacular. The reality is that people overlook the roots because they lie at such a deep level. My goal is to dig out all potential errors and clean the mess.
Bugs in the machine
Igarashi: I am more into the language itself. Errors frustrate me. Now that I teach, I find that some students can pick it up by themselves, while others need more attention. So hearing a student say, “I finally get it!” makes me really happy.
Muroya: Learning programming is kind of like understanding the feelings of computers, isn’t it? If you write code but it doesn’t work well, you fix the bugs and then say, “Is this what you want?” You have to put yourself in the computer’s shoes. There are not many strategies to tackle programming, so it’s like completing a puzzle with only a limited number of pieces.
Igarashi: I also look into program validation, trying to verify their accuracy. What particularly challenges me is detecting the cause of errors after seeing an error message. This is probably a technology that many would really like to have, but it is something that cannot be completed overnight. Where to start is even a challenge.
Error messages are usually really terrible, and often misleading. A number of studies have tried to simplify them, but there hasn’t been a definitive one yet. And there are hundreds of approaches to squashing such bugs.
Hasegawa: This problem is not limited to computer sciences either. In every scientific field, I don’t think there is ever a theory that deals with errors in a systematic way.
Muroya: Errors can be limitless. Anything and everything can cause then.
Igarashi: How you approach errors is a reflection of your interests as a researcher.
Muroya: At a basic level, our job is to explain how certain languages form specific kinds of structures when analyzed theoretically. The rest of the job is in the hands of researchers who use the languages.
Trendiness at KyotoU
Hasegawa: Scholars at the Graduate School of Informatics prefer their own approaches, and don’t care about what’s popular. That’s why they are here at Kyoto University: to be independent thinkers. It also means that Kyoto University can be slow in catching up with the latest trends.
Igarashi: Yes, for instance we are lacking in the study of IT security. We have just one affiliated researcher who specializes in encryption, but that’s it.
Recently-enrolled undergrads are always surveyed, and until three or four years ago a large percentage said that they wanted to develop video games. But we don’t teach this! More importantly, what kind of game you develop is more challenging than the process of developing the games themselves, which actually requires more artistic than programming skills.
Students now, however, are much more interested in artificial intelligence. Most of the recent survey responses include keywords such as AI, VR, and AR.
Hasegawa: The students are certainly more sensitive to trends than we are!
Igarashi: I wonder how deeply they know about these trends though. I teach an entry-level course on GUI programming, and there was a student who was not challenged enough by the assignments, so as part of the graphical user interface design I was teaching he added a function for recognizing handwritten numbers. I hadn’t covered that, but he seems to have picked up the basics himself in high school.
Muroya: As the number of useful libraries increases, it becomes easier to begin coding. You can practically get by in this field just by combining the right libraries.
Igarashi: And we also want to train our students to make those libraries themselves!
Muroya: If you want to combine libraries, you can search for them, plug them in, and get started. Most likely you’ll fail on your first try, but that is when you really start to work. After failing a few more times, you begin looking into the whole program, and trying to see how it all works.
Hasegawa: You are officially in our field when you realize that programs aren’t just black boxes!
Muroya: Right! People enter our field feeling fear about what’s inside the black box. I was one of those people. But then you join us as you start to want to understand what’s inside. Some opt for controlling programs, while others choose to analyze them.