Mark Harman bridges academia and industry.
He is a professor of software engineering in the Department of Computer Science at University College London, the first English university established after Oxford and Cambridge.
He co-founded Search Based Software Engineering (SBSE) in the late 1990s, a field that optimizes software systems using computational search techniques.
Harman manages the Sapienz team at Facebook London, where Sapienz has been deployed to continuously test Facebook’s suite of Android and iOS apps (including Facebook, Messenger, Workplace, and Instagram), automatically finding thousands of bugs in multimillion lines of code powering the social media apps used by over a billion people worldwide every day.
And he is now the 2019 winner of the IEEE Computer Society’s Harlan D. Mills Award for his “fundamental contributions throughout software engineering, including seminal contributions in establishing search-based software engineering, reigniting research in slicing and testing, and founding genetic improvement.” The award honors researchers and practitioners who make long-term, impactful contributions to software engineering.
Here’s our Q&A with him.
Computer Society: How did you become involved with Facebook?
Mark Harman: Before joining Facebook, I had known a few people who made the move from academia, and the spectacular impact it had on their research. All of us in academia look very hard to find the impact of our research. It’s really exciting to have people cite our papers, and it’s fantastic to have that scientific dialogue, particularly for something like software engineering.
You really do want to see what you do to be put into practice. One of the interesting things to observe once I made the transition from academia to industry, was to work at Facebook, and see the research deploy really fast. So I’m both the consumer and the producer of research. Facebook allows me to remain part-time at University College London (UCL) as well, and I still supervise some PhD students.
Like what you’re reading? Stay ahead of your field and sign up here for our Build Your Career or Computing Edge newsletters to get content like this delivered right to your inbox weekly.
Finally, it’s really exciting that we make some of the technology open source. So it completes the loop. Can you imagine: the scientific work gets published, people talk about it, it gets cited, then it gets translated to industry, and then it gets made open source, and then more in the scientific community can use it. It’s a virtuous cycle of innovation, deployment, and further scientific discovery.
“This is another way in which the divisions between academia and industry are breaking down. And this is good for both.”
Computer Society: Where can the average person see your work on Facebook?
Harman: It’s the work of a team. I am an engineering manager at Facebook, and so I’m supporting a team that is doing the technical work. Our biggest two projects are Sapienz and SapFix: the former is a tool to find bugs in the code powering Facebook’s apps – things like null pointer exceptions – while the latter suggests fixes that address those bugs. We presented them at the F8 developers conference last year in April, and there is a high quality video of our presentation. People can watch the 20-minute video and it gives them a good idea of what Sapienz can do in terms of automatically finding bugs in Facebook’s apps using search-based software engineering techniques. The other thing our work does is that developers can move faster because of the testing, and that means they can get new features out faster.
Computer Society: How do you balance your academic and industry work?
Harman: The two are very mutually supportive because of this virtuous circle I described earlier. I attend conferences and give talks there. When I give a talk, I’m really looking for that scientific interaction, that exchange of ideas, but I’m still representing the work that the team is doing for Facebook. So once again I’m working for the company, but I’m also doing my scientific work.
The other thing I spend my time doing is reading and reviewing research papers. Once again when I’m doing that, I’m being a scientist, but it’s giving me the inspiration and ideas for technologies that we might try to deploy in next-generation software testing and improvement systems at Facebook. I don’t’ really see it as balance. I see it more as focusing my attention on the intersection of the two things where it’s a win-win scenario for both the scientific life and the Facebook development world.
I would say the company – and actually I wouldn’t just say it for Facebook, I think it’s true for the sector in general – is full of interesting, challenging, scientific problems. There are far too many for just us to solve on our own. So we continue to look to partner with the scientific community on research. And I think this is another way in which the divisions between academia and industry are breaking down. And this is good for both. As a scientist in an engineering discipline, you want to see the work used.
“For seasoned academics, who are on that grant writing treadmill which I know all too well, they think going into industry might slow down their chance of writing grants. But … it gave me all sorts of ideas for grant writing.”
Computer Society: What career advice would you give to anyone interested in doing such work?
Harman: Well, I guess the advice is different for different stages of a career.
For example, if someone is doing a PhD, then I would strongly encourage them to look for opportunities to do an internship – for example we offer quite a few in London. It has two huge benefits. One is that you have a chance to see if you can apply your ideas that you’re developing in your PhD. The other is that you can go back to your research lab with such a strong knowledge of the technical problems and challenges faced by the industrial sector that you often end up stimulating further research.
Sometimes the student will think, “I shouldn’t do an internship because the PhD is not ready yet, and I need to get this result or that result.” But you come back with a whole new set of challenges, and that shapes your research. It also means that the research has more chance to be deployed because it is informed by the industrial challenges. It’s a great way for a student to influence their lab. Oftentimes a professor doesn’t have time to do that, but a student does.
For academic colleagues, we have had several people working at Facebook full time who are associate, full or assistant professors. Another model is of people coming in and spending a little bit of time seeing if they can transfer some of their ideas, and we can be very flexible on how that works. They can work part time or full time, and obviously, they would get paid for their work, which is a bonus. They would see their work deployed at scale, and once again they would come back with other challenges that feed into other research and funding proposals and so on.
For seasoned academics, who are on that grant writing treadmill which I know all too well, they think going into industry might slow down their chance of writing grants. But actually when I worked in industry and did these collaborations, it gave me all sorts of ideas for grant writing and the technical and scientific challenges I had seen in the industrial sector.