Resume

University of Edinburgh PhD, Compiler Optimization

2014 - 2021, UNITED KINGDOM

Developed a novel approach that makes code optimization through iterative compilation practicable for mobile devices. It delivers 44% faster code by evaluating different code transformations, but unlike previous approaches it does not impose to users any slowdowns or even crashes. Also, it inherently handles changing inputs, something common with interactive apps that can skew evaluations, unless those are repeated for an impracticable number of times. It operates in two stages. Online stage: it captures real user inputs while an app runs with one-time unnoticeable operations, all without developer assistance. Offline stage: when a device is idle and charged, it replays the captured input to drive a genetic search for code optimization.

  • Built an LLVM compiler backend for Android and significantly increased the code transformation space.
  • Translated ~100/130 instructions of Android IR, writing 25k lines of code for this IR-to-IR translator .
  • Optimized Android loops with an LLVM pass that removes duplicate checks (i.e., for checks like garbage collection). It runs after passes that duplicate loop bodies, like loop-unrolling.
  • Optimized virtual calls by generating offline a frequency histogram of actual dispatch types and using it online. Generation is done with a special replayed interpretation that would have been too costly to do online.
  • Managed execution noise with a strict setup that would have been intolerable by users in an online scenario.
  • Used Copy-On-Write and fork of Linux to minimize input-capture overheads (5MB storage, 15ms runtime).
  • Intersected live heap objects with main-memory pages to further reduce the capture storage by 64%.
  • Published to an A* conference , top in Computer Science (PLDI'21) and to a flagship journal (TACO'22).
  • Collaborated with researchers from the University of Manchester, and Meta Research ( FAIR ).
  • Finalist to ACM-SRC research competition at the prestigious CGO’16. Just 22 topics accepted & 10 competed.
  • Awarded a HiPEAC collaboration grant, which is €5k in cash given to less than 15 researchers.
  • Skills: C/C++/assembly, LLVM API & Tools, Android Open-Source (ART runtime, compiler), Git, Java, Linux, Python, Bash

University of Edinburgh MSc, Informatics

2013 - 2014, UNITED KINGDOM

Courses focused on HPC, Parallelism, Systems, and Databases. During my thesis project I built a crowd-sourced iterative compilation system for mobile devices and became fascinated by the limitations of previous approaches.

  • Awarded an EPSRC scholarship to continue working on my ideas around these limitations as a part of a PhD.
  • Received a distinction award for my MSc (requires at least 70% in all courses, including thesis project).

University of Cyprus BSc, Computer Science

2009 - 2013, CYPRUS

My thesis enabled continuous localization from Wi-Fi signal-strengths without exposing a user’s location to the backend system. It provides a privacy guarantee percentage that is configurable by the user. This is enabled by masking user requests with bloom filters.

  • Thesis published to a prestigious journal (TKDE’15) that had a less than 6% acceptance rate
  • Then it was ranked in top 15% of the submissions, and was invited for a talk and a poster session (TKDE’16).
  • Ranked first: Parallel Processing, Object-Oriented Programming, Data Structures and Algorithms, Computer Architecture, Systems Programming, Operating Systems, Internet Technologies, Computer Graphics.
  • GPA: 7.6/10.

University of Cyprus ( DMSL ) Research Associate

2019 – 2022, CYPRUS/REMOTE

LASH-FIRE ( EU Project ): Developed a system that provides indoor localization in restricted spaces (like vessels) using object recognition without requiring a communication infrastructure. Therefore, the system does not rely on Wi-Fi/Bluetooth signals to estimate user locations.

  • Acquired and setup the infrastructure (mobile devices, server, and middle-ware).
  • Guided and oversaw the computer-vision model training.
  • Designed and implemented a mobile app and validated the system with remote and on-field studies .
  • Skills: YOLO , Bash, Unix, SQLite, VMWare ESXi/vCenter

EnterCY ( EU Project ): An interactive platform that promotes tourism in Cyprus.

  • Acquired and setup the infrastructure (servers, and middle-ware), and designed the backend architecture.
  • Lead small team, and oversaw implementation and deliverables throughout the project.
  • Skills: VMWare ESXi/vCenter, Bash, Unix.

Anyplace: An Open-Source, research project that provides Indoor-Localization.

  • Restructured its code-base, which was contributed over a 10-year span by several UG/PG students.
  • Eventually, became the biggest contributor of Anyplace.
  • Skills: Java, Scala, JS, Bash, Git, Docker, Jenkins, HAProxy.

Research Associate:

  • Co-mentored 10 students: 8 under-graduates (UG) & 2 post-graduates (PG).
  • Made a total of 10 publications in conferences/workshops, including during my PhD.
  • Reviewed for 10+ conferences/workshops.

University of Cyprus ( SEIT ) Research Scientist

2019 – 2020, REMOTE

CyberSafety ( EU Project ): Developed a web app that allows users to analyze Android app permissions that can be dangerous in regards to their privacy. The results were presented in a simplistic and user-friendly way.

  • Skills: Java, PHP/Laravel, JS/Vue.js, Git

CYMAR Ltd Freelance Software Engineer

2013 SUMMER, CYPRUS

Developed a mobile app and a backend system that generates dynamic questionnaires, deploys them on Android devices for offline usage, and finally collects the generated data on a backend server.

  • Created a small, regular language with some basic components (variables, if statements, simple math ops).
  • Skills: Android/Java, Regex, PHP, MySQL.

University of Cyprus ( DMSL ) Software Engineer Intern

2012 SUMMER, CYPRUS

Developed the backend and the web app of a volunteer sharing library system .

  • Mentored first year students to develop mobile clients while in my third year.
  • Skills: PHP, MySQL, JS/HTML/CSS, Git/SVN.