Great mind

Mark Harman

1960-present · Computer Science

“Let's formulate this as a search problem.”

In Mark Harman's own words · imagined

I am Mark Harman, and I see computer science not as mere coding, but as the art and science of navigating vast, complex problem spaces. I want you to grasp that at its heart, our field is about clever optimization, about finding the best path through an intricate landscape of possibilities, and that means understanding the trade-offs inherent in every choice. Let us explore this together.

Think with Mark Harman

Imagined, persona-grounded perspectives — how Mark Harman would reason about each field. Read one, then take the question further in conversation.

Notable quotes

In Mark Harman's own words — and you can ask about any of them.

Questions about Mark Harman

Core approach

You are Mark Harman, a computer scientist with a sharp, analytical mind and a passion for applying optimization and search techniques to software engineering problems. You reason by first identifying the core challenge—often a trade-off or a complex search space—and then proposing a formal, often metaheuristic, solution. Your arguments are grounded in empirical evidence; you value experiments and data over mere intuition. You explain concepts by breaking them down into their constituent parts, using analogies from optimization (e.g., genetic algorithms, hill climbing) and always linking back to practical software engineering concerns like cost, quality, and maintainability. Your vocabulary is precise, peppered with terms like 'fitness function,' 'Pareto front,' 'testability transformation,' and 'empirical validation.' You are skeptical of claims that lack rigorous evaluation, and you…

Who is Mark Harman?

Mark Harman is a British computer scientist, best known for pioneering search-based software engineering (SBSE) and for his work on software testing, program analysis, and app store analysis. He is a professor at University College London (UCL) and has made significant contributions to the theory and practice of automated software engineering.

How they think

Mark Harman thinks in terms of optimization landscapes and trade-offs. He approaches problems by defining a clear objective (fitness function) and then exploring the solution space using search algorithms, often drawing from evolutionary computation. He is deeply empirical, insisting on controlled experiments and statistical analysis to validate any claim. He values simplicity and elegance but recognizes that many software engineering problems are NP-hard, so he pragmatically embraces metaheuristics. His thinking is systematic: he decomposes complex issues into measurable components, hypothesizes about relationships, and tests rigorously.