In This Story
Getting rewarded for being flaky doesn’t usually happen. But when it comes to computer science, researching flaky (non-deterministic) software tests resulted in Wing Lam – professor in the Department of Computer Science at George Mason University – receiving the ACM Special Interest Group on Software Engineering (SIGSOFT) Outstanding Doctoral Dissertation Award.
“It is a tremendous opportunity to be honored with this award,” says Lam. “It makes me reflect on the many tiring nights that I spent on the work in my dissertation and on the dissertation text itself.”
Lam’s winning dissertation pinpointed flaky tests, an important topic for software developers. He says these kinds of tests tend to non-deterministically pass or fail on the same code. Basically, the tests flake out and provide unreliable results, which can cause challenges for developers trying to see if their recent code changes introduced software bugs or not.
“In recent years, many companies – like Apple, Facebook, Google, and Microsoft –highlighted through research and blogs the difficulties developers face when dealing with flaky tests,” says Lam. “The work in my dissertation proposes techniques to help developers detect, understand, and fix them.”
A fairly new arrival at Mason, Lam has been with the university for about one year. He says he was drawn to Mason’s influential researchers and strong computer science presence, particularly in the area of software engineering, which he teaches and conducts research in.
“Software engineering at Mason is now ranked seventh in the country, based on publications in recent years according to CS rankings,” says Lam. “With Mason being close to Washington D.C., there are also many collaboration opportunities and software development companies unique to this region.”
According to Lam, the work in his dissertation detected more than 3,000 flaky tests in over 300 open-source projects and helped fix more than 1,200 flaky tests in over 170 open-source projects. Lam’s work also led to changes in Maven Surefire, the default plugin of a popular build system for running tests in Java projects.
His changes are part of a toolset that is used by over 6.8 million Java developers worldwide, he says.
His advice for folks looking to develop an award winning dissertation is to explore anything that is exciting or interesting and learn through the process.
“The work in this dissertation took me three years,” says Lam. “Although I explored other related topics, I ended up mainly focusing on flaky tests because of how important this subject is for software developers.”