Members

Group Head

Prof. Zhendong Su

zhendong

Zhendong Su is a full professor and leads the AST Lab in the Department of Computer Science at ETH Zurich. He is also an adjunct professor at UC Davis, where he was a full professor in Computer Science and a Chancellor's Fellow until June 2019. His research spans programming languages and compilers, software engineering, computer security, deep learning and education technologies. 

Postdocs

Dr. Chengyu Zhang

Chengyu’s research interests are in software engineering, programming languages, and formal methods. Before joining AST, he was focusing on ensuring the reliability of static analysis and verification tools.


Dr. Thodoris Sotiropoulos

Thodoris's interests include software engineering and programming languages. He is currently focusing on making the implementations of strongly-typed programming languages type-safe, type-precise, and robust.


Dr. Jinsheng Ba

Jinsheng's research interests include software security and software engineering. Currently, he focuses on advancing testing techniques for more reliable software.

PhD Students

Zu-Ming Jiang

Zu-Ming's research interests span computer security, operating systems and software engineering. Currently he is researching the security and reliability problems of system software using software testing techniques (e.g. fuzzing).

 


Contact details:
 Zu-Ming Jiang
external page https://jzuming.github.io/


Shaohua Li

Shaohua Li

Shaohua is currently interested in developing new ways of dynamic program analysis, especially in test oracle automation and program runtime verification. He also has a broad interest in applying deep learning in the field of software engineering and program languages.


Hao Sun

Hao’s research focuses on operating system kernels, with an emphasis on Linux. The fundamental goal of his research is to improve the correctness of OS kernels, one of the most complicated software, via finding and eliminating the bugs with the approaches including fuzz testing and symbolic execution.

 


Theo Theodoridis

Theodoros Theodoridis

Theo's research focuses on optimizing compilers and search-based program optimization. In particular, he is interested in understanding the compiler performance landscape, blurring the lines between compilers and autotuners, and aiding compiler performance engineering and development.


Sverrir Thorgeirsson

Sverrir's research interests include computer science education, educational technology, machine learning, computational neuroscience and cognitive science.


Michel Weber

Michel's research interests are currently focused on compiler diagnostics and analysis, but extend to Multi-Level Rewriting and DSL-Compilation.

Contact details: Michel Weber


Dominik Winterer

Dominik is interested in formal methods problems in Programming Languages and Software Engineering. Dominik is researching techniques on testing SMT solvers and making them more reliable and performant.


Visiting Researchers

Zixi Liu

Zixi is a visiting Ph.D. student at the Software Institute at external page NJU, under the supervision of external page Prof. Yang Feng and external page Prof. Baowen Xu. She is currently working on testing/analyzing the Rust compiler.

Contact details: 


Dongwei Xiao

Dongwei is a visiting PhD student from external page the Hong Kong University of Science and Technology (HKUST) under the supervision of external page Prof. Shuai Wang. He is interested in software engineering, especially in testing complex software systems like compilers.


Zongjie Lee

Zongjie is a visiting PhD student from external page the Hong Kong University of Science and Technology (HKUST) under the supervision of external page Prof. Shuai Wang. He is interested in software engineering, especially in building better large code models.

Current ETH Thesis & Project Students

  • Maximilian Barth: Programming by Demonstration on Small Touchscreen Devices, Master's Thesis, Co-supervisor: Sverrir Thorgeirsson.
  • Andreas Bur: Fuzzing KVM to find security bugs, Practical work.  Co-supervisor: Hao Sun. 
  • Cyril Moser: Finding Compiler Bugs in Pattern Matches, Practical work. Co-supervisors: Theodoros Sotiropoulos, Chengyu Zhang.
  • Silvan Renggli: Introducing Functional Programming in Algot, Master's Thesis. Co-supervisor: Sverrir Thorgeirsson.
  • Li Shi: hunting IO_Uring bugs through context-free workload generation, Master's Thesis. Co-supervisor: Hao Sun. 
  • Andrei Zhukov: On the Reliability of Modern SMT Solvers, Practical work.  Co-supervisor: Domonik Winterer.  
  • Jason Zibung: Snapshotting multi-threaded programs, Practical work.  Co-supervisors: Hao Sun, Chengyu Zhang. 
  • Yuchen Gu: Towards Distributed Database Testing: An Attempt on CockroachDB, Master's Thesis. Co-supervisor: Zu-Ming Jiang (Direct Doctorate student)

Administration and Scientific Coordination

Contact

Christian Rossi
  • CNB H 107.1
  • +41 44 632 70 70
  • Website
  • vCard Download

Dep. Informatik
Universitätstrasse 6
8092 Zürich
Switzerland

Christian Rossi

Contact

Dr. Tracy Ewen
  • CNB H 107.1
  • Website
  • vCard Download

Dep. Informatik
Universitätstrasse 6
8092 Zürich
Switzerland

Dr.  Tracy Ewen

Alumni ETH Zurich


Completed BSc/MSc Theses, ETH

Bachelor Students

  • Cyril Moser: Finding Compiler Bugs in Pattern Matches, 2024. Mentor: Theodoros Sotiropoulos
  • Luis Maltsis: Mutation Based Testing of Coq Convertibility Tactics, 2024. Mentor: Dominik Winterer
  • Marcel Maciejczyk: Exploring Random Test Generation for Rust Compiler Evaluation, 2024. Mentor: Theodoros Sotiropoulos
  • Andrin Gasser: Creating a Visual Boolean Query System, 2024. Mentor: Sverrir Thorgeirsson
  • Ali Haitham Mohamed Hamdy Salem: Supporting Abstraction in Algot via Algebraic Data Types, 2024. Mentor: Sverrir Thorgeirsson
  • Luca Schafroth: Building a Test Suite for C Compiler Testing, 2023. Mentor: Shaohua Li
  • Dalia Shaaban: Interactive Compilation for Peephole Rewrites, 2023. Mentors: Michel Weber, Tobias Grosser
  • Adrien Schär: Benchmarking and Tracking the Performance of SMT Solvers: An Intra-Solver Study, 2023. Mentor: Chengyu Zhang
  • Artem Anchikov: Testing the Swift's type checker using API-based program generation, 2023. Mentor: Thodoris Sotiropoulos
  • Oliver Graf: Towards Robust Debugging and Enhanced Control-Flow in Algot, 2023. Mentor: Sverrir Thorgeirsson
  • Svenja Scherrer: Leveraging Value Range Analysis to find Missed Optimizations, 2023. Mentors: Yann Girsberger, Shaohua Li
  • David Bernhard: Impact of Compiler Optimizations on Linux kernel performance, 2023. Mentor: Theo Theodoridis
  • Lennart Lais: Algot as a Tool for Recursion Instruction in Secondary Education: A Comparative Study, 2023. Mentor: Sverrir Thorgeirsson
  • Michael Mörschell: Fully-Fledged Type-checking for and Data-centric Fuzzing with the SMT Solver Fuzzing Framework YinYang, 2023. Mentor: Dominik Winterer
  • Philippe Hugo: Refining Sharing and Collaborative Aspects in Algot via its Library Manager, 2023. Mentor: Sverrir Thorgeirsson
  • Marc Carigiet: Grammar-Based Bounded Exhaustive Testing of JavaScript and Regex Engines, 2023. Mentor: Dominik Winterer
  • Oliver Wright: Implementing a Foreign Function Interface for Algot, 2023. Mentor: Sverrir Thorgeirsson.
  • Dominic Wüst: Dinkel: Fuzzing GDBMSs Using Complex and Valid Queries, 2023. Mentor: Zu-Ming Jiang
  • Andreas Bur: Optimizing the search for missed compiler optimizations, 2023: Mentors: Theo Theodoridis, Yann Girsberger
  • Niels Saurer: Do Modern Compilers Benefit from Better Alias Analysis Information? 2023. Mentor: Theo Theodoridis
  • Marvin Thomet: Transforming C programs into deterministic program templates, 2023. Mentor: Theo Theodoridis
  • Theo Weidmann: Bridging the Syntax-Semantics Gap of Programming, 2022. Mentor: Sverrir Thorgeirsson
  • Daniel Nezamabadi: Program Synthesis in the Visual Programming Environment Algot, 2022. Mentor: Sverrir Thorgeirsson.
  • Yves Hostettler: Extending an Autotuner Approach for Inlining by Leveraging Call-Graph and Independency Properties, 2022, mentor: Theo Theodoridis.
  • Benjamin Gundersen: Input/Output based Semantic Code Search, 2021, mentor: Shaohua Li.
  • Giorgio Piatti: An Implementation of Prorogued Programming in Python, 2021, mentor: Sverrir Thorgeirsson
  • Damiano Mombelli: Specification-free Faulty Execution Detection in Defects4J, 2021, mentor: Shaohua Li
  • Matthew Weingarten: Modeling functional programming in MLIR, 2021, mentor: Tobias Grosser.
  • Tim Matter: Utilizing SMT Solvers for Database System Testing, 2021, mentor: Manuel Rigger
  • Bachmann Jules: Detecting Correctness Regression Bugs in DBMS, 2020, mentor: Manuel Rigger
  • Jonas Müntener: A Reduction Tool for SQL, 2020, mentor: Manuel Rigger
  • Attila Hirschi: Using Solvers to Provide Actionable Feedback to Developers for SQL Queries, 2020, mentor: Manuel Rigger
  • Andrin Bertschi: A PHP Implementation Built on GraalVM, 2020, mentor: Manuel Rigger
  • Antonio Russo: Incorporating Machine-level Coverage Information in Coverage-guided Fuzzing, 2020, mentor: Manuel Rigger
  • Andy Nguyen: Detecting Vulnerabilities in Real-World Software with Fuzz Testing, 2019, mentor: Shuai Wang
  • Loris Reiff: Context-Aware Obfuscation - A Step Towards Defeating Adversary Symbolic Analysis, 2019, mentor: Shuai Wang

Master Students

  • Theo Weidmann: A Learnable Algot-based App Builder, 2024. Mentor: Sverrir Thorgeirsson
  • Marvin Thomet: Dynamic analysis for memory prefetching, 2024. Mentor: Theodoros Theodoridis
  • Martin Erhart: Equivalence Checking of Dataflow Circuits, 2024. Co-supervisors: Lana Josipović, Xu Jiahui
  • Amelia Dobis: Formal Verification of Hardware using MLIR, 2023. Mentor: Kevin Laeufer (UC Berkeley)
  • Colin Arnet: Finding Missing Compiler Optimizations with Binary Code Analyis, 2023. Mentor: Theo Theodoridis
  • Ziqiao Kong: Effective Fuzzing with Sanitizers by Selectively Feeding Inputs, 2023.  Mentor: Shaohua Li
  • Jiahui Zhang: Javascript Engine Just-In-Time Compilation Testing, 2023. Mentor: Shaohua Li
  • Georgy Mitenkov: Gas Standard: Scalable and Precise Gas Charging Scheme for Smart Contracts, Master's Thesis. Co-supervisor: Theo Theodoridis.
  • Patrick Ziegler: WebAssembly Code Generation from Java Bytecode, 2023. Mentor: Theo Theodoridis
  • Matteo Kamm: Metamorphic Testing of Graph Databases, 2023. Mentors: Manuel Rigger and Chengyu Zhang
  • Simon Hrabec: WebAssembly Feasibility in IoT and Real-Time Scenarios, 2023. Mentor: Shaohua Li 
  • Ishaan Shamanna: Adaptation of Algot to an introductory online programming course, 2023. Mentor: Sverrir Thorgeirsson
  • Mike Marti: Translating Between Graph Database Query Languages, 2022. Mentors: Manuel Rigger and Zu-Ming Jiang.
  • Christian Fania: Alternative Approaches to Whole Program Optimization in LLVM, 2022, mentor: Theodoros Theodoridis
  • Yann Girsberger: DEAD: Dead Code Elimination based Automatic Differential Testing, 2022, mentor: Theodoros Theodoridis
  • Philippe Voinov: Forest: Structural Code Editing with Multiple Cursors, 2022, mentor: Manuel Rigger
  • Juan Díaz Sada: Using Real-world Projects to Extract and Utilize SQL Test Cases, 2021, mentor: Manuel Rigger
  • Shenyi Wang: Design, Implementation and Validation of a Digital Library for Open Educational Resources, 2021. Mentor: Sverrir Thorgeirsson.
  • Bernhard Kellermann: Finding Missed Optimizations in Query Optimizers of Relational Databases, 2021, mentor: Manuel Rigger
  • Jack Clark: Verifying Serializability Protocols With Version Order Recovery, 2021, mentor: Manuel Rigger
  • Mauro Bringolf: Fuzz Testing SMT Solvers with Formula Weakening and Strengthening, 2021, mentor: Dominik Winterer
  • Konstantinos Triantafyllou: A Performance Study of Inlining, 2021, mentor: Theodoros Theodoridis
  • Patrick Stäuble: Automatically Finding Logic Bugs in Document-Oriented Database Systems, 2020, mentor: Manuel Rigger
  • Dylan Wolff: Value Mutation Testing for SMT Solvers, 2020, mentor: Dominik Winterer
  • Hannes Pfammatter: Investigating the Effects of Unsafe Compiler Optimizations for Numerical Code, 2020, mentor: Manuel Rigger

Alumni UC Davis

UC Davis Software Systems Group: Past students, postdocs, and staff


JavaScript has been disabled in your browser