When Iftekhar Ahmed learned about the field of computer science from his elder brother, he knew he didn’t want to do anything else. After receiving his undergraduate degree in computer science and engineering from Shahjalal University of Science and Technology, Bangladesh, he realized his dream was to pursue a career in research. To fulfill that dream, he made his way Oregon State University to work with Professor Carlos Jensen.
“I want to be ahead of the technological wave. The things I’m working on today will not be applied widely in industry for another five years,” says Ahmed, a Ph.D. student of computer science in the College of Engineering.
But, in fact, his work has already been applied to the Linux kernel — the test case for his research — which is used in over a billion devices, such as Android phones. This year, his work has earned him a highly competitive IBM Ph.D. Fellowship to support his research.
As he was preparing for graduate school, Ahmed spent four years working as a software developer in industry. His experiences in the industry helped inform his research as a graduate student.
“As a software developer I faced the real-world problems of programming, so I knew what things would have made my life easier,” Ahmed says.
My intention is to contribute something that has a huge impact and helps people. That will be my footprint.
His current research has helped Paul McKenney, distinguished engineer at IBM Linux Technology Center, and collaborator on the project. McKenney maintains a module of the Linux kernel called Read Copy Update (RCU) and was interested in advancing techniques for discovering bugs in the software. Together, they applied a way to improve the test suite which in turn finds bugs in the Linux kernel.
After exhausting a number of other techniques, Ahmed turned to “mutation analysis” which has been in existence for almost 40 years, but has mostly been used for academic research and not applied to large and complex industry scale programs. The technique was considered too computationally demanding and inaccurate (returning too many false positives) to be effective. By applying mutation analysis systematically, Ahmed was able to prove the technique can scale up when he successfully found gaps in the test suite which were allowing a bug in the Linux kernel to go undetected.
Finding a bug in a very well-tested piece of code, such as the RCU, using limited resources, shows the technique has the potential to change the way industry is testing their software.
“My intention is to contribute something that has a huge impact and helps people. That will be my footprint,” Ahmed says.
In addition to impacting the world with his research, Ahmed is also a teacher.
“I really enjoy seeing a student’s eyes light up. Then I know I have conveyed the idea or concept, and that student will go out and help the field as well,” he says. “And I know I have left my footprint again.”