∃ 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 genomic software.

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

I have 1-2 immediate openings for full-time research assistants (Bachelor with Honours or Masters/MSc/MEng) and interns in the project SLICK. This project investigates both the theoretical and the practical aspects of information leakage in complex embedded systems (e.g. IoTs). We prefer candidate(s) with strong interest and motivation in designing/hacking software systems and with good analytical skills. If you are interested in this project, contact me directly with your CV. Research assistants can look forward to internationally competitive remuneration.

∀ Notice ∀

I am actively looking for PhD students to work on several projects related to Embedded Systems, testing/quantification of side-channel leakage and certifying performance/security of autonomous cars and IoTs. If you are interested in my research, apply to SUTD PhD program (deadline 28th Feb and 15th September every year) and feel free to contact me with your CV and application number. If you are already at SUTD and wish to discuss research opportunities, do not hesitate to book an appointment with me.

∃ Ongoing Projects

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: TACAS-2017, ITEQS-2017, arxiv-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

∃ Publications

∀ Recent ∀

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

∃ Recent Teaching

∃ Software

  • 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).