Skip to main content

Nicolas Yves Maurice Harrand

Profile picture of Nicolas Yves Maurice Harrand

About me

I studied computer science and applied mathematics (at Ensimag) in Grenoble, France. I've also spent a year in Polito in Torino, Italy. I have since worked at Sintef in Oslo, Norway on code generation for heterogeneous distributed systems.

I am a currently a PhD candidate in Software Engineering at KTH Royal Institute of Technology (Sweeden) under the supervision of Pr. Benoit Baudry and funded by WASP. I study mainly (but not exclusively) Automated Software diversification.


Software monoculture has emerged as a result of modern software development practices, such as the increase reuse from external libraries, and distribution through stores. The term software monoculture describes a population of computers running the exact same version of a software. This has unfortunate consequences, both in terms of security and resilience, as all instances of the same software suffer from the exact same bugs and vulnerabilities, making them predictable for an attacker and making failure at the population scale. On the other hand, developing multiple alternative version of a software  requires effort that can be prohibitive for some application. The focus of my PhD is to mitigate the effects of software monoculture through automated software diversification.

This has led me to work on source to source transformations in Java, software ecosystems such as Maven Central, dependency replacement, as well as Bytecode decompilation. I am also a contributor and maintainer of Spoon, a Java library to manipulate Abstract Syntax Trees of Java programs. I wrote and maintain Yajta, another Java library for bytecode instrumentation that facilitates dynamic analysis of programs running on the JVM.

I am also an enthusistic advocate of Free and Open Source Software, as well as online privacy.

Personal Webpage | Google scholar | DBLP | Github