Isil Dillig is an associate professor of computer science who works to improve the security and reliability of software systems and automatically generate programs from high-level specifications. She received a Sloan Research Fellowship and an NSF CAREER award.
Could you describe your main research interests?
My research is at the intersection of programming languages and artificial intelligence. My overarching goal is to make it easier for people to write software that's correct and doesn't have security vulnerabilities. There are two main parts to my research. In one, I look at techniques to automatically reason about programs, so we can either find problems or security vulnerabilities in them or prove that they actually behave as they were designed to behave. The other part of my research is a field called program synthesis where the goal is to automatically generate programs based on high-level expressions of user intent.
What does program synthesis entail and what are some of the potential applications?
Program synthesis allows people to program computers without actually writing code. For instance, the user can give a few examples to illustrate what they want the program to do, and then the synthesizer can generalize from those examples and generate a program that automates the desired task. There are many applications of program synthesis, some targeting end-users, and some targeting programmers. For example, some of my work has used program synthesis to automate various tasks like data querying, wrangling, and visualization, which arise under many guises in different contexts. My work has also used program synthesis to simplify programming tasks that are considered very challenging, such as writing multithreaded code.
How did you find your way to computer science?
Unlike a lot of the students I teach at UT, I actually didn't have much exposure to computer science in high school. I accidentally discovered my interest in it after taking an introductory computer science class when I was a sophomore at Stanford and then I decided to declare myself a computer science major. I also got involved in CS research as an undergrad and decided to pursue a Ph.D. in the field of programming languages.
What is the most rewarding part of your work here at UT?
I find it very rewarding to mentor and do research with my group of amazing Ph.D. students. I also really enjoy teaching UT undergrads.
What would you recommend to students interested in pursuing computer science?
Take lots of different CS classes! And if you take someone's class and you're really interested in the material, don't be shy about reaching out to faculty members to do research with them. The worst that can happen is they say no, but in that situation, you're not any worse off than if you never asked. So just get out of your comfort zone! Plus, people always like to hear that someone found their work interesting.
Cross-posted from the College of Natural Sciences news.