Christopher Mackie, Bachelor of Science in Computer Science, University of Washington
Christopher Mackie had an unusual entry into computer science. As high school student in Vancouver, Washington, he participated in the Running Start Program, which allowed him to obtain a 2-year associate degree in computer science at a local college while finishing his last two years of high school. He then enrolled in the BS/MS program in computer science at the University of Washington (UW). Although Christopher came to college with a substantial amount of computing background, he was mindful that he had not yet had the opportunity to work on a long-term open-ended problem.
A friend of Christopher’s at UW told him about a research project that he was involved in with Professor Michael Ernst. Christopher reached out to Professor Ernst, who welcomed him to his research group. Over the course of the next two years, Christopher worked with Professor Ernst to develop a static analysis technique to detect signedness bugs in programs. While the research results were applicable to a variety of programming languages, Christopher’s work focused on Java since it lacks language support for unsigned integers even though developers frequently “shoehorn” them in their code. His research began with a theoretical analysis of the problem and eventually led to new techniques that were employed in a pluggable type checker for Java called the Checker Framework.
The results of Christopher’s work were presented at the Undergraduate Student Research Competition at the Symposium on the Foundations of Software Engineering (FSE) 2016. Christopher presented a poster and presentation at the symposium and received third prize at the competition.
Christopher says that his favorite aspect of this research was the theoretical work. He also enjoyed presenting his work at conferences. When asked what advice he would offer to other students interested in research, Christopher suggests starting by spending time learning about the various areas being studied by professors in the department. He also suggests talking with other students who are doing research to learn more about their experiences and what aspects of the work excite them.
Reflecting on the benefits of his research experiences so far, Christopher says that it has helped him understand the challenges of working on a long-term project and getting a clear insight into how new discoveries are made. He adds that his research experience has also vastly improved his time management skills, noting that “being responsible for a long term project in a very unstructured setting will either make you more productive, or it will chew you up and spit you out.” Christopher is currently finishing his master’s degree at UW and plans to work in industry when he has completed his degree. He stresses the value of doing research for all career paths and says that he plans to “keep his eyes open to the world of research, and what it has to offer to industry.”
– Written and edited by Booma S Balasubramani and Keith Feldman