I have more than 15 years of experience in Research and Engineering positions. In my career, I've had the pleasure of working with many bright engineers and researchers, in a wide range of projects, from building distributed data-intensive micro-services, to building infrastructures for test automation, data-pipelines for training machine learning models, and tools and frameworks for building secure and privacy-preserving applications. I have supervised and co-supervised several Master’s and PhD students, and have hosted a number of interns. I have led medium-sized projects to successful completion, and for a short time served as the CTO of Testify AS. I am particularly passionate about discovering novel solutions to complex problems and delivering high-quality products.
In this role I was part of project-oak, focused on building a Trusted Runtime for running privacy preserving applications.
Based on an analysis of prior user feedback, I proposed and implemented a mechanism to improve the chatbot.
In the context of the project for modernizing the Norwegian population registry:
In this role, I led the Model-Fusion project, co-supervised a PhD candidate, and contributed to building a software change recommendation system, in the context of the evolveIt project.
My PhD project started with a focus on integration problems in cyber-physical and integrated control systems (e.g., subsea systems). These problems surfaced themselves during system integration testing. A study of the root-causes, at an industry partner, pointed the finger at too many configuration parameters. I studied software product-line architectures, and proposed and developed a number of techniques, some using constraint programming, for semi-automated and consistent configuration of large embedded software systems. See my dissertation.
In this project, relying on verifiable data structures, we built an end-to-end release process to trace software binaries to their source code, in a transparent and verifiable manner. The idea is very similar to Certificate Transparency.
See the project's GitHub repository.
Talks and publications:
Relying on a number of cutting edge technologies, including Trusted Execution Environments (TEEs), Remote Attestation, and sandboxing (e.g., using WebAssembly), the team developed a Trusted Runtime. In this project, we used Rust as the main programming language.
The goal of this project was to generate synthetic, and statistically representative population data to use for testing. I suggested framing the problem as a language modeling problem, built a proof-of-concept by training a char-RNN network, and proposed the overall architecture.
Talks and publications:
Thesis: A Model-Based Approach to the Software Configuration of Integrated Control Systems
Thesis: Improving Model Checking Using Reinforcement Learning
Thesis: Modeling and Verifying Timed Systems Using Rebeca