Avatar

Nicolas Harrand

I am currently working as a security researcher at RISE (Research Institute of Sweden) specialized in software supply chains. I hold a Ph.D. in software engineering from KTH Royal Institute of Technology, which focuses on Automatic Software diversification. My topics of interest are mainly: Software Supply Chain Security, Program transformations, Software repositories an Program analysis (Static and Dynamic). You can contact me at <first_name.last_name>@gmail.com.



Curiculum

  • (2022 - Present) PostDoc in the Cyber Security Unit of RISE, Stockholm, Sweeden
  • (2018 - 2022) PhD student in the SCS department at KTH, Stockholm, Sweeden founded by WASP
  • (2017) PhD student at INRIA Rennes in the DiverSE team and Université de Rennes 1, France founded by DGA-INRIA
  • (2015 - 2016) Research Engineer at SINTEF ICT, Oslo, Norway
  • (2015) Engineering Degree from Ensimag (Ecole national superieur d'informatique et de mathémathiques appliquées de grenoble), France
  • (2014 - 2015) Exchange at Politecnico di Torino, Italy
  • Publications

  • Google scholar profile | DBLP profile
  • API Beauty is in the eye of the Clients: 2.2 Million Maven Dependencies reveal the Spectrum of Client-API Usages
    Nicolas Harrand, Amine Benelallam, César Soto-Valero, François Bettega, Olivier Barais, Benoit Baudry
    Journal of Systems and Software (JSS) 2021  Journal 
  • The Behavioral Diversity of Java JSON Libraries
    Nicolas Harrand, Thomas Durieux, David Broman and Benoit Baudry
    Proceedings of the 32nd International Symposium on Software Reliability Engineering (ISSRE) 2021  Conference 
  • A Comprehensive Study of Bloated Dependencies inthe Maven Ecosystem
    César Soto-Valero, Nicolas Harrand, Martin Monperrus and Benoit Baudry
    Empirical Software Engineering (EMSE) 2021  Journal 
  • Java Decompiler Diversity and its Application to Meta-decompilation
    Nicolas Harrand, César Soto-Valero, Martin Monperrus and Benoit Baudry
    Journal of Software and Systems (JSS) 2020  Journal 
  • The Strengths and Behavioral Quirks of Java Bytecode Decompilers
    Nicolas Harrand, César Soto-Valero, Martin Monperrus and Benoit Baudry
    Proceedings of the 19th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM) 2019  Conference 
  • A journey among Java neutral program variants
    Nicolas Harrand, Simon Allier, Marcelino Rodriguez-Cancio, Martin Monperrus and Benoit Baudry
    Genetic Programming and Evolvable Machines (GPEM) 2019  Journal 
  • The Emergence of Software Diversity in Maven Central
    César Soto-Valero and Amine Benelallam and Nicolas Harrand and Olivier Barais and Benoit Baudry
    Proceedings of the 16th International Conference on Mining Software Repositories (MSR) 2019  Conference 
  • The Maven Dependency Graph: a Temporal Graph-based Representation of Maven Central
    Amine Benelallam and Nicolas Harrand and César Soto-Valero and Benoit Baudry and Olivier Barais
    Proceedings of the 16th International Conference on Mining Software Repositories (MSR) 2019  Artifact 
  • Engineering Software Diversity: A Model-Based Approach to Systematically Diversify Communications
    Morin, Brice and Høgenes, Jakob and Song, Hui and Harrand, Nicolas and Baudry, Benoit
    Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS) 2018  Conference 
  • A Spoonful of DevOps Helps the GI Go Down
    Baudry, Benoit and Harrand, Nicolas and Schulte, Eric and Timperley, Chris and Tan, Shin Hwei and Selakovic, Marija and Ugherughe, Emamurho
    Proceedings of the 4th International Workshop on Genetic Improvement Workshop (GI@ICSE) 2018  Workshop 
  • CodeStrata Sonifying Software Complexity
    Thomas, Denez and Harrand, Nicolas and Baudry, Benoit and Bossis, Bruno
    Proceedings of the Twelfth International Conference on Tangible, Embedded, and Embodied Interaction (TEI) 2018  Conference 
  • Model-based software engineering to tame the IoT jungle
    Morin, Brice and Harrand, Nicolas and Fleurey, Franck
    IEEE Computer 2017  Journal 
  • ThingML: A Language and Code Generation Framework for Heterogeneous Targets
    Harrand, Nicolas and Fleurey, Franck and Morin, Brice and Husa, Knut Eilif
    Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS) 2016  Conference 
  • Artistic Projects

  • Code{strata}  Co-Author 
  • Code{strata} is an artistic representation through visual and sound of software execution.

  • Ada's Sol  Co-Author 
  • Ada's Sol is a knitted execution trace of Ada Lovelace's Note G, one of the first piece of software, written to compute Bernouilli Numbers, and meant to run Charles Babbage's Analytical Engine

    Projects

  • Spoon  Integrator 
  • Spoon is a library to analyze, transform, rewrite, transpile Java source code. It parses source files to build a well-designed AST with powerful analysis and transformation API. Made at Inria with love, beers and sparkles.

  • Yajta  Author 
  • Yajta is an extensible java agent for byte code probe insertion (at load time or offline) built on top of javassist.

  • ThingML  Former contributor 
  • ThingML is a modelling languages targetting Heterogeneous and distributed Systems.

  • ThingML Tron  Author 
  • ThingML implementation of a multiplayer Tron game running on a network of arduinos with LCD screens.

  • More code on github
  • Teaching

  • Ethical Hacking (RISE Cyber Range) (2023)  Teacher 
  • Scaling the Simulation Core of Modifiable Virtual Environments with Serverless Computing, Javier Ron Arteaga (KTH) (2021)  Master Thesis Supervisor 
  • Design and Implementation of Semantic Patch Support for the Spoon Java Transformation Engine, Mikael Forsberg (KTH) (2021)  Master Thesis Supervisor 
  • A Metametaprogramming for Java with Spoon, Andrew Bwogi (KTH) (2020)  Master Thesis Supervisor 
  • A template-based approach to automatic program repair of Sonarqube static warnings, Haris Adzemovic (KTH) (2020)  Master Thesis Supervisor 
  • Investigation into tools to increase Observability of 2oo2 OS based Generic Product, Haseeb Aslam Butt (KTH) (2018)  Master Thesis Supervisor 
  • Constraint Programming (KTH) (2018)  Teaching assistant 
  • Testing for Embbeded Software (KTH) (2018)  Teaching assistant 
  • Verification and Validation (ISTIC) (2017 - 2018)  Teaching assistant 
  • Android application developpments (ISTIC) (2017)  Teaching assistant 
  • Software Architecture (ESIR) (2017)  Teaching assistant