∃ About Me

Hi, welcome to my homepage. Since January 2017, I am an Assistant Professor at the Information Systems Technology and Design (ISTD) Pillar at Singapore University of Technology and Design (SUTD).

My research interests broadly cover the area of Program Analysis, Embedded Systems and Compilers. Concretely, my goal is to understand the influence of execution platform on critical software properties, such as performance, energy, robustness and security. In my doctoral dissertation, I worked on Execution-time Predictability, with a specific focus on Multi-core Platforms. At present, I am exploring different ideas for efficient, reliable and secure execution of complex software systems. Some specific application areas include (but not limited to) cyber-physical systems, mobile applications and smart home.

Before joining SUTD, I was a post-doctoral scholar at Computer Science division in Saarbrücken, Germany. In Germany, I was affiliated with the Center for IT-Security, Privacy and Accountability (CISPA) and the Software Engineering Chair leaded by Prof. Andreas Zeller. Before coming to Germany, I was a post-doctoral researcher in the Department of Computer and Information Science in Linköping University, Sweden, where I primarily worked in the Embedded Systems Lab. I have obtained my Ph.D. in Computer Science from National University of Singapore (NUS), Singapore in 2013. Prior to my PhD study, I was working as a Research and Development Engineer in Synopsys for 1.5 years.

∃ Opening (Post-doctoral Researchers, Research Assistants and Interns)

  • @[Security and Performance Validation of Self-reconfigurable Robots] I have immediate openings to host multiple post-doctoral researchers and research assistants. The project investigates systematic design and validation of self-reconfigurable robots. Please find the details of all open positions in the project here. If interested, contact me directly with your CV.

  • @[Testing and Monitoring IIoT for Security and Privacy] I have immediate openings for two (2) research staffs in a project targeting security testing of industrial IoT (IIoT) devices. Prospective candidates must hold an engineering degree (bachelor or masters) in computer science, computer engineering or related fields. They should have interest in system security and embedded systems, and should be comfortable in hacking large software systems. Selected candidates will have the opportunity to validate their research outcome with a real, physical IIoT device. Sounds exciting? Contact me directly with your CV.

  • @[Securing Embedded Software against Information Leakage] I am continuously hosting visitors (including faculty members) and interns at all levels (Bachelor, Master, PhD) in the project SLICK. Contact me directly with your CV if interested.

∃ PhD Opportunities

I am actively looking for PhD students to work on projects related to Embedded Systems, testing/quantification of information leakage and certifying performance/security of autonomous cars and smart home. If you are interested in my research, apply to ISTD/SUTD PhD program and feel free to contact me with your CV and application number. The application deadlines are usually in March and September. All PhD positions are fully funded for four years with very attractive scholarship. If you are already at SUTD and wish to discuss research opportunities, do not hesitate to book an appointment with me.

∃ Research Interests

From a broader perspective, I investigate formal as well as experimental methodologies for the analysis of software systems. Specifically, I have focused on peoperties related to performance, security and energy consumption. Currently, I am working on the following projects:

  • Testing and Quantifying Side-channel Vulnerabilities:

    Given a complex system, how do we test and quantify its vulnerability against side-channel attacks? Side-channel attacks aim to retrieve secret information from dynamic software properties, such as timing, memory-access statistics and so on. Whereas such attacks are easy to mount, its analysis poses a great challenge, as such analysis needs to systematically investigate both the hardware and software behaviour. In this project, we build techniques to validate and subsequently, strengthen software against side-channel attacks. To know more about the topic, please take a look at our following publications: MEMOCODE-2017, TACAS-2017, ICSTW-2017, ASPDAC-2016.

  • Certifying Performance and Security of Autonomous Cars and IoTs:

    How do we build models for validating complex systems such as autonomous cars, IoTs and smart home? In this newly instantiated project, we build such models and leverage such models for validating timing and security-related (e.g. information leakage) properties.

  • Verification and Validation of Non-functional Software Properties:

    This is a rather large project with several directions. The aim of this project is to extend the foundation of software engineering for the analysis, testing, debugging and synthesis of software by taking into account its non-functional properties. To know more about the topic, please take a look at our following publications: JSA-2016, SPIN-2015, EMSOFT-2014, FSE-2014, RTSS-2013.

∃ Recent Activities (always outdated)

∃ Publications

∀ Recent ∧ ∀ Selected

The rest available from DBLP, Google Scholar and My List.

∃ Recent Teaching

∃ Software

  • CHALICE: A symbolic-execution-based approach to quantify cache side-channel leakage.
  • CATAPULT: A symbolic-execution-based approach to test cache side channel.
  • CLANK: A search-based software testing tool to discover cache side-channel vulnerabilities (developed by my student Tiyash Basu).
  • GRAB: A performance debugging tool to discover and localize memory-related bottlenecks in GPGPU programs (developed by my student Adrian Horga).
  • MESS: A memory performance checker for multi-core systems.
  • Chronos for Multi-core: A Worst-case Execution Time analysis tool for multi-core systems.
  • MIPS2LLVM: A software that translates MIPS binary code to LLVM bitcode preserving both functionality and memory performance (developed by my student Moritz Beck).