Lindstedtsvägen 3, Level 5, Office 1547
KTH Campus, Stockholm, Sweden
I earned my Master’s Degree in Computer Science from the University of Havana, Cuba, in 2016. Since 2019, I’ve been furthering my academic journey as a PhD student at the esteemed KTH Royal Institute of Technology, specializing in Software Diversification to enhance reliability and security, with a primary emphasis on WebAssembly. In addition to my academic pursuits, I am a contributing member of the Trustworthy Fullstack Computing project, or TRUSTFULL, where our team collaborates on significant advancements in the field.
- May, 2023 WebAssembly Diversification for Malware Evasion accepted at Computers&Security journal as a collaboration with Tim Toady
- March, 2023 Dagstuhl seminar "Foundations of WebAssembly"
- October, 2022 Artificial Software Diversitication for WebAssembly manuscript, Teknologie licentiatexamen
- June, 2022 wasm-mutate presented at EGRAPHS, PLDI 2022
- June, 2022 MEWE presented at PAW, ECOOP 2022
- April, 2022 Officially aknowledged as a bytecode alliance contributor
- April, 2022 wasm-mutate was accepted as a talk in EGRAPHS 2022 Workshop, PLDI
- February, 2022 PC member for PAW 2022 Workshop
- September-December, 2021 Contractor Software Engineer at Fastly
- May 21, 2021 We receive acknowledgement for a CVE discovered in the Wasm Lucet compiler.
- Feb 18, 2021 CROW was presented at DiverSE team in University of Rennes 1
- Feb 25, 2021 CROW was presented at MADWeb Workshop in NDSS's 21
- Apr 14, 2021 CROW was presented at Spirals team in University of Lille
- May 4, 2021 CROW was presented at UC San Diego
- COSE 2023Computers & Security 2023
- Under review
- MTD 2022In Proceedings of the 9th ACM Workshop on Moving Target Defense 2022
- MADWeb 2021
- MoreVM’s 2020In Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming 2020
- VMIL 2019In Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages 2019
Proofs of concept and ongoing works
Master theses supervision
Camille Fournier: Comparison of Smoothness in Progressive Web Apps and Mobile Applications on Android
One of the main challenges of mobile development lies in the high fragmentation of mobile platforms. Developers often need to develop the same application several times for all targeted platforms, raising the cost of development and maintenance. One solution to this problem is cross-platform development, which traditionally only includes mobile applications. However, a new approach introduced by Google in 2015 also includes web applications. Progressive Web Apps, as they are called, are web applications that can be installed on mobile and behave like mobile applications. This research aims at studying and comparing their performance to mobile applications on Android, especially in terms of smoothness, memory and CPU usage. To that end, we analyzed the Rendering pipeline of Android and Chrome and deducted a smoothness metric. Then, a Progressive Web App, a Native Android and a React Native Interpreted Application were developed and their performance measured in several scenarios. The results imply that Progressive Web Applications, though they have great benefits, are not as smooth as Mobile applications on Android. Their memory performance and CPU usage lag behind Native Applications, but are similar to Interpreted applications.
Adam Benali: Neural Decompilation for WebAssembly
Djiar Salim: Securing Trigger-Action Platforms with WebAssembly
Anna Skantz: Performance Evaluation of Kotlin Multiplatform Mobile and Native iOS Development in Swift
Today's mobile development resides in the two main operating systems Android and iOS. It is popular to develop mobile applications individually for each respective platform, referred to as native development. To reduce additional costs, cross-platform solutions have emerged that enable shared development for both platforms. KMM is a relatively unexplored cross-platform tool developed by JetBrains. The purpose of this study is to evaluate the performance of iOS applications developed in KMM compared to native Swift. We compare the two approaches for developing iOS apps by compiling a benchmark suite and measuring the performance metrics execution time, memory consumption, and CPU usage. Our benchmark suite is a collection of 7 benchmarks consisting of high-level functionalities networking and database management, as well as low-level computational tasks from the CLBG suite. For the studied benchmarks, the results indicate that KMM generally achieves faster execution times, but with a trade-off overhead in higher memory consumption and CPU usage. We have found KMM to achieve up to 2,7 seconds faster execution time, consume up to 390MB more memory, and up to 30\% more CPU than with native Swift. Besides, our results highlight correlations between the garbage collection cycles of KMM with profiling patterns of memory consumption and CPU usage.