May 30, 2019

Spotlight session with Mark Harman

By: Facebook Research

We are pleased to congratulate Mark Harman on receiving the SIGSOFT Outstanding Research Award at ICSE 2019, as well as the IEEE Computer Society’s Harlan D. Mills Award. Both awards recognize researchers who have made lasting, meaningful contributions to the field of software engineering. Harman is most known for co-founding the field of search-based software engineering (SBSE) in the late 1990s. In Harman’s words, “the idea of SBSE is to use computational search to solve software engineering problems.

“With problems where the space of all possibilities is too large to enumerate, you can use computational search to try and intelligently navigate the space and at least try promising ones before less promising ones,” he continues.

Harman is the engineering manager of the team working on Sapienz at Facebook London, and he also works part-time at University College London (UCL). Sue Black, OBE, Professor of Computer Science and Technology Evangelist (Durham University), first met Harman 20 years ago — around when Harman co-founded the field of SBSE. “Mark is an amazingly smart, insightful, and hardworking researcher whose software engineering research has had a massive impact both in academia and industry,” Black tells us.

With the two awards, Harman reflects on his software engineering career and shares the moments leading up to his receiving these two awards, starting from his first foray into SBSE.

The early days of SBSE

Harman’s interest in evolutionary algorithms was first kindled during his time at the Polytechnic of North London, which would eventually come to be known as the University of North London. “This is when I first started reading about them and playing with them myself and realizing how amazingly powerful and generic they were,” Harman recalls. From there, Harman continued to look for problems to apply them to. Eventually, he came across work that other people had done on applying them to testing, which is what he is doing now at Facebook.

Reflecting on the software engineering community during the late ’90s, Harman recalls his shock at the lack of research done by applying computational search to software engineering. The idea of computational search had been around since World War II, and evolutionary algorithms since the ’70s. According to Harman, people had been applying evolutionary algorithms to all sorts of engineering problems at the time, but not as much to software engineering.

But applying computational search to software engineering was a natural next step for Harman. “It seemed weird to me that this wasn’t happening, because these techniques are themselves built out of software. They’re solving all these problems like aircraft design — people would even apply them to social engineering problems. But not software engineering.

“It didn’t make sense to me. It was like an itch I needed to scratch.”

Creating impact

Harman continued to scratch that itch for the next couple of decades, devoting most of his time as an academic to publishing papers in the field and encouraging others to do the same. This led to SBSE becoming a proper field of study.

Given the various areas within the field of software engineering, researchers and engineers often end up attending different conferences and publishing in different journals, never speaking or interacting with one another. Harman sought to bridge this gap and bring researchers together to connect the dots. “The search concepts were like a lingua franca that reconnected this fragmented discipline,” Harman explains. “It has allowed me to talk to people from all kinds of different subdisciplines within the overall area of software engineering, and that’s been a great joy for me, actually. I just love that.”

While Harman was a full-time professor at UCL in 2011 and 2012, he was tasked with interviewing each member of his computer science department to evaluate the impact of their research for the 2014 Research Excellence Framework. He soon discovered that in comparison with his colleagues, who had companies where their research was being used in practice, most of his research was only being published in papers.

This experience encouraged Harman to take his research outside of the lab and into practice with the creation of a consulting company. “That’s when that seed was planted — the idea that I should collaborate with my colleagues to launch a kind of spinout company that could act as a vehicle to take this research from the lab into practice,” he says. For their first client, Harman and his colleagues considered Facebook. Facebook offered to hire the team full-time instead. Harman and Software Engineers Ke Mao and Yue Jia joined Facebook in 2017, about six months after they had founded the company.

“We came to Facebook initially just hoping to find a client,” Harman explains. “But Facebook could immediately see the potential in the work we’d done and wanted it straight away, which blew us away.”

Since then, the team has grown significantly with strong support from Facebook to develop this area of work, creating the impact that Harman had been hoping to see. “The real smart work has been done by the engineers on the team that I manage,” Harman insists, who manages the team behind Sapienz and SapFix. “So I don’t think it’s even fair to say I’ve had the impact. I’ve just supported a team of people that really had the impact.”

Fellow UCL affiliate and Facebook research scientist Peter O’Hearn speaks to Harman’s leadership in innovation: “Mark Harman is a visionary researcher who is capable of thinking years ahead of the scientific field, but then also seeing the ideas through to production in industry.

“I first met Mark around 2008, long before either of us joined Facebook,” O’Hearn continues. “In a joint meeting with our respective research teams, Mark described his vision for how static and dynamic analysis could work together. He was inclusive and looking for synergies. He also outlined how we would have tools that not only find bugs but fix them too. I thought that this last part was perhaps wishful thinking, but then a decade later, in 2018, we had SapFix in deployment at Facebook, with some bugs being both automatically found and fixed in some of the world’s most widely used software.”

Bringing your authentic self

Like many other researchers at Facebook, Harman maintains his ties with the academic community through dual affiliation. Being able to continue his involvement at University College London by supervising research students and research projects is something Harman finds great joy in. “It’s like Facebook is still letting me have that side of me,” Harman shares. “We often talk at Facebook about bringing your authentic self to work, and my authentic self is a baffled, confused professor.”

Software Engineer Nadia Alshahwan first got to know this side of Harman while obtaining her master’s degree. She credits Harman as the biggest influence on her career, persuading her to pursue a Ph.D. and then apply to Facebook. “Mark’s ability to change and adapt and his openness to feedback have always been inspirational to me,” Alshahwan says. “I have never worked with a manager who comes even close to how supportive, understanding, empowering, and caring Mark has been.”

Sue Black agrees, while also noting Harman’s sense of humor. “Who would think of juxtaposing source code analysis with comedy to create the SCAM conference tradition of performing a Monty Python sketch each year as a conference highlight?” Black asks.

Today, Harman can be found giving talks at various academic conferences and workshops. Much of Harman’s work continues to center around creating spaces for academics in the field of SBSE to come together and collaborate. One such example is the annual Facebook Testing and Verification (TAV) Symposium, which is hosted at Facebook London. “Many other companies come and present at the Facebook TAV Symposium, and academics too. It’s a great meeting place, idea exchange, and networking opportunity,” Harman says.

To stay updated on the Facebook TAV Symposium, visit its Facebook page.