Phong Ngo

School: School of Science, Engineering & Technology
Department: Information Technology
Position: Lecturer
Location: RMIT Hanoi
Email: phong.ngo@rmit.edu.vn
ORCID: 0000-0003-4993-0092

Dr. Tuan Phong Ngo received his Ph.D. in Computer science from Uppsala University, Sweden in 2019. His specialisation is Software engineering - Programming for Multicore Architectures. He has more than 3 years of experience working as a senior software engineer for IAR Systems building compilers for embedded systems. He has been working at RMIT Vietnam since Semester 3 2022 as an IT lecturer.

  • PhD in Computer Science, 2019, Uppsala University
    • Thesis: Model Checking of Software Systems under Weak Memory Models
  • M.Sc. in Computer Science, 2021, Hanoi University of Science and Technology
    • Thesis: Knowledge Discovery using Rule-based Approach
  • M.Sc. in Computer Science, 2013, Uppsala University
    • Thesis: Ensuring the Correctness of Concurrent Programs under TSO Memory Models
  • B.Scs. in Computer Science, 2009, Hanoi University of Science and Technology
  • Certified coach and trainer in:
    • Agile Project Management, Issued by Google in Coursera. Nov 2021
    • Google Project Management, Issued by Google in Coursera, Nov 2021
    • Academic Teacher Training, Issued by Uppsala university, Dec 2018
    • IBM Certified Solution Designer: Object Oriented Analysis and Design, vUML 2, Issued by IBM. Jan 2010
    • IBM Certified Database Administrator: DB2 9 for Linux, UNIX and Windows, Issued by IBM. Jan 2010

  • Software Engineering Design
  • C/C++/Java Programming
  • Software Testing and Verification
  • Database Design
  • Programming Theory
  • Algorithm and Data Structures
  • Automata and Logic in IT System Modeling
  • Unix administration and Programming
  • Mathematics for Computing

  • Security in modern processors: Meltdown and Spectre
  • Software Testing, Verification, and Model Checking
  • Formal Method
  • Compiler, Code Optimization, and Code Generation
  • Concurrent programs, Multicore Architectures, and Weak Memory Models

  • Optimal Stateless Model Checking for Reads-from Equivalence under Sequential Consistency. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson, Magnus Lång, Tuan Phong Ngo, and Konstantinos Sagonas. OOPSLA’19.
  • Optimal Stateless Model Checking under the Release-Acquire Semantics. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson, and Tuan Phong Ngo. OOPSLA’18.
  • A Load-Buffer Semantics for Total Store Ordering. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, and Tuan Phong Ngo. LMCS’18.
  • Context-Bounded Analysis for POWER. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, and Tuan Phong Ngo. TACAS’17.
  • The Benefits of Duality in Verifying Concurrent Programs under TSO. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, and Tuan Phong Ngo. CONCUR’16.
  • Precise and Sound Automatic Fence Insertion Procedure under PSO. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Magnus Lång, and Tuan Phong Ngo. NETYS’15.
  • The Best of Both Worlds: Trading Efficiency and Optimality in Fence Insertion for TSO. Parosh Aziz Abdulla, Mohamed Faouzi Atig, and Tuan Phong Ngo. ESOP’15

  • Research Grant Doctoral Contract: Uppsala Programming for Multicore Architectures Research Center, 2013-2019
  • Google summer code grant, Google, 2012
  • Erasmus Mundus Scholarship, Master program, 2011-2013

  • Master Thesis Research, Uppsala University
    • Collaboration between IAR Systems and Uppsala University
    • Thesis:  Thread Scheduling for Hardware Stress Testing on Bare-metal Devices
  • Bachelor Thesis Research, Uppsala University
    • Thesis: Dynamic Race Detector for Concurrent Java Programs

  • Best-paper award nominee, The European Joint Conferences on Theory and Practice of Software 2017 (ETAPS’17)
  • Best-paper award nominee, The International Conference on Concurrency Theory 2016 (CONCUR’16)
  • Third prize in Artificial Intelligence programming competition, Uppsala University 2019
  • First prize in Functional programming competition, Uppsala University 2012

  • Senior compiler engineer, 2020-2022, IAR Systems
    Research and develop optimization techniques for code generation at both high level and target-dependent level in IAR’s C/C++ compilers for different embedded hardware such as ARM, RISCV, AVR, and Renesas. Mentor students to do graduate dissertations from the company side in collaboration with Uppsala university. Learn and apply Agile methodology in all phases of software development to deliver high quality software products. 
  • Software engineer, 2019-2020, COMSOL AB
    COMSOL Multiphysics® is a simulation software for modeling designs used worldwide in research and computer-aided engineering. I have designed a new architecture to effectively generate mesh for rendering geometries inside COMSOL Multiphysics®. The new architecture optimizes computation time by 30% on average for large models that contain virtual geometric operations.

  • IT Lecturer, 2022 – now, RMIT VN
  • Senior compiler engineer, 2020-2022, IAR Systems
  • Software engineer, 2019-2020, COMSOL AB
  • Researcher, 2019, Uppsala University
  • PhD candidate and Teaching assistant, 2013-2019, Uppsala University
  • IT Lecturer, 2009-2011, Hanoi University of Science and Technology