CV

also availabe in PDF format

Tuan Phong Ngo

Curriculum Vitae

tuanphong.ngo@gmail.com | https://phongngo.github.io

Education

  • Ph.D in Computer Science, Uppsala University, Sweden, Nov 2013 - Jan 2019
  • M.Sc in Computer Science, Uppsala University, Sweden, Sep 2011 - Jun 2013
    • Average grade: 4.8 (scale from 3 to 5; 3 considered minimum to pass)
    • Selected coursework: Mathematical logic, Artificial intelligence, Advanced algorithms, Advanced computer architecture, Programming theory, Constraint programming, Optimisation, Functional programming, Compiler design, Computer networks, Programming in embedded systems
    • Transcript transcript with course list and results
  • B.Sc and M.Sc in Computer Science, Hanoi University of Science and Technology, Vietnam, Sep 2004 - Jun 2011

Work experience

  • Jun 2019 - now: Software engineer at IAR Systems Group AB, Uppsala, Sweden
    • Topics: State machine, Software verification, Symbolic model checking, BDD
    • Developing a verification tool that can analyze real-world models. This work also includes research tasks.
  • Mar 2019 - May 2019: Researcher at Department of Information Technology, Uppsala University, Sweden
  • Sep 2013 - Jan 2019: Teaching Assistant at Department of Information Technology, Uppsala University, Sweden
    • Courses: Programming Theory, Data Structures and Algorithms, Automata and Logic in IT System Modeling
  • Sep 2009 - Jun 2011: Teaching Assistant at Department of Information Technology, Hanoi University of Science and Technology, Vietnam
    • Courses: C Programming, Database Design
  • Jun 2007 - Aug 2008: Part-time software developer at Tinh Van JSC, Vietnam
    • Topics: Search engine, Language processing
    • Duties: Developing two natural language processing modules in Python: automatic punctuation and automatic spelling suggestion. The accuracy of the two modules is around 94%.

Research Interests

  • Formal method
  • Software verification
  • Model checking
  • Weak memory model
  • Data mining

Publications

  • Optimal Stateless Model Checking under the Release-Acquire Semantics. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson, and Tuan Phong Ngo. OOPSLA’18.
  • Replacing Store Buffers by Load Buffers in TSO. Parosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, and Tuan Phong Ngo. VECoS’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.
  • An Efficient Algorithm for Discovering Maximum Length Frequent Itemsets. Tran Anh Tai, Tuan Phong Ngo, and Nguyen Kim Anh. KSE’11.
  • Rule-based Attribute-oriented Induction for Knowledge Discovery. Nguyen Duc Thanh, Tuan Phong Ngo, and Nguyen Kim Anh. KSE’10.
  • Generating Qualified Summarization Answers using Fuzzy Concept Hierarchies. Tuan Phong Ngo, Nguyen Hong Phuong, and Nguyen Kim Anh. SoICT’10.

Grants and Awards

  • Best-paper award nominee, The European Joint Conferences on Theory and Practice of Software 2017 (ETAPS’17)
  • Ph.D research grant for period 2013-2018, UPMARC research center
  • Master scholarship for period 2011-2013, Erasmus Mundus scholarship

Talks

Teaching

  • Teaching assistant of Programming theory: Fall 2016, Fall 2017, Fall 2018
  • Teaching assistant of Algorithm and data structures I: Fall 2014, Fall 2015, Fall 2016, Fall 2017, Fall 2018
  • Teaching assistant of Automata and logic in IT system modeling: Fall 2014, Fall 2015, Fall 2016, Fall 2017
  • Teaching assistant of C programming: Fall 2009, Fall 2010
  • Teaching assistant of Database design: Spring 2009, Spring 2010

Programming Languages and Tools

C/C++ (expert), Java/Python (proficient), SQL (prior experience), Git/Subversion (proficient)

Services

  • Artifact evaluation committee of TACAS’19
  • External reviewer of TACAS’16, TACAS’19
  • External reviewer of VMCAI’16
  • External reviewer of VECoS’18
  • External reviewer of NETYS’15, NETYS’17
  • External reviewer of SoICT’14, SoICT’15, SoICT’16, SoICT’17, SoICT’18

Volunteer

  • Volunteer in ETAPS’17
  • Web master in UPMARC summer school 2018, SoICT’11

References