Xiaoran Xu found her passion in the absolute logic of compilers in the first semester of her professional masters in computer science (MCS) program, and decided to continue her research in that field with a Ph.D.
She said, “When I first arrived at Rice, I was looking at courses to take and many of my friends told me Compilers –COMP 412– was good so I took it. I had little compiler background before that first course, but the more I learned, the more interesting it became.”
The way compilers are organized and the way her professor approached them were very systematic and that attracted Xu.
“It is well organized,” she said. “Compilers have a front end, a middle (optimization), and a back end, and every section can be continuously divided into smaller parts until you get down to classic algorithms. I always know where I am and can track it, like I have a map in my heart.” She said, “I found I mastered concepts more quickly in the more structured research area.”
At the end of the course, she signed up for an advanced class, COMP 506, to learn more about compiler optimization. Keith Cooper, the L. John and Ann H. Doerr Professor in Computational Engineering at Rice University, taught both of her compiler courses and agreed to become Xu’s Ph.D. advisor.
Although she was intent on completing her professional master’s degree, Xu had already decided to pursue her Ph.D in Computer Science. After learning compiler construction and optimization, she wanted to do more research in that area. “If you get interested in something then you need to pursue it,” she said. “If you like thinking about it, then you need to try it. Don’t just say ‘I like something’ unless you are really ready to research further into it.”
While looking for an internship, she talked with a Rice CS alumnus who introduced her to a guy working on compilers in the technology industry and they realized they’d attended the same undergraduate college. Xu said, “After we talked about compilers, he introduced me to someone at Huawei, and I ended up participating in both research and development of their compiler framework.”
Xu continued to discover connections with her new colleagues. “One of my colleagues’ advisors had been advised by Ken Kennedy at Rice. The same Ken Kennedy who advised my own advisor – Keith Cooper – at Rice,” she said. “Another colleague has been one of my advisor’s good friends for years. It felt like I was in a big compiler family!”
At the end of her internship, her manager proposed several opportunities for continued collaboration. “I talked them over with Keith,” said Xu, “and we decided to do that collaboration for my doctoral research. Then a team from Huawei visited Rice and met with other faculty members and I believe they may be planning a long-term collaboration.”
She is excited for the opportunity to continue her research with Huawei. “From mobile phones to Android Runtime, I can do something applicable to real world problems that also contributes to my research.”
Although she is pursuing a Ph.D. now, her experience in the professional masters program was very rewarding. “It is typically a short program,” she said, “so I advise other students to figure out what they want for their career quickly.” Students who want to pursue research should work with their professors. Students who want to pursue industry careers should prepare for the Career Expo.
“You don’t have time to swing back and forth,” Xu said. “Don’t just simply follow the people around you. Figure out the plan for your career yourself.”
Xu also said the Career Expo is held early each fall and spring semester and can catch students by surprise. “I was not prepared for the first one,” she said. “You should get some interview books or take algorithm training online in advance. Polish up your resume. If you are beginning the MCS program in the fall, take the summer to prepare for the expo.”
Xiaoran Xu completed her Master’s in Computer Science (M.C.S.) in 2015 and her Master’s of Science (M.S.) in CS in 2017. Her adviser is Keith Cooper.