Stephen     F.     Siegel

Stephen
	      Siegel photoI am an associate professor in the Department of Computer and Information Sciences at the University of Delaware. I also hold a joint appointment in the Department of Mathematical Sciences.

My current research interests include (1) formal methods for software verification, (2) parallel and scientific computing, and (3) applications of (1) to (2). As a recovering mathematician (having worked in the cohomology and representation theory of finite groups), I am always looking for new applications of mathematics and logic to problems in computer science.

I direct the Verified Software Laboratory, which conducts research and develops tools targeting the problems above. CIVL, a verifier for parallel scientific/HPC programs, is our flagship product. Our software, publications, and experimental artifacts are all available on the VSL web page.

Coordinates
address:
Department of Computer & Information Sciences
University of Delaware
101 Smith Hall
Newark, DE 19716
office: Smith 432
office-hours for Spring 2024: Mon/Wed 10:10–11:00am
email: siegel@udel.edu
phone: 302 831 0083 (I don't check the messages)
fax: 302 831 8458
Highlights
Service
  • Organizing Committee, DOE/NSF Workshop on Correctness in Scientific Computing (CSC 2023), at PLDI
  • Co-Chair, VerifyThis 2023
  • PC, Spin 2021
  • PC, Correctness 2020
  • Associate Editor, IEEE Transactions on Software Engineering, 2015–2019
  • PC, TACAS 2018
  • PC, Correctness 2018
  • PC, Technical Program, SC16
  • ERC, PLDI 2014
  • ERC, PPoPP 2014
  • PC, NFM 2013
  • PC, EuroMPI 2012
  • PC, BOOGIE 2012
  • PC, NSV-2011
  • Organizing Committee, (EC)2, 2008–2012
  • PC, Technical Program, systems area, SC10
  • PC, Tutorials Program, SC09
  • PC, EuroPVM/MPI 2009, EuroMPI 2010
Teaching

Some classes I have taught...
  • CISC 401/601, Elements of Theory of Computation
  • CISC 404/604, Logic in Computer Science
  • CISC 372, Parallel Computing. MPI, OpenMP, Pthreads, CUDA, fundamental concepts of concurrency for both message-passing and shared-memory models. Learn more about the course here.
  • CISC 414/614, Formal Methods in Software Engineering. This class gives an overview of formal methods, with emphasis on practical applications of tools such as Alloy, Spin, and Frama-C.
  • CISC 475/675, Advanced Software Engineering/Software Engineering Principles and Practices. This is a project-based course, going through all stages of the software lifecycle, including requirements engineering, design, coding, testing and verification.
  • CISC 849/879, advanced topics. Topics have included Advanced Topics in Software Verification, Abstract Interpretation, Advanced Parallel Computing, and Model Checking.
  • CISC 366/466, Independent Study. For undergraduate students who want to take part in the research of the VSL. Contact me if you are interested.