Stephen     F.     Siegel

		       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 (especially with MPI), 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. The Toolkit for Accurate Scientific Software (TASS), a verifier for C/MPI programs, is our flagship product. Our software, publications, and experimental artifacts are all available on the VSL web page.

Department of Computer & Information Sciences
University of Delaware
101 Smith Hall
Newark, DE 19716
office: Smith 432
office-hours: Tue/Thu/Fri 2-3pm
check Google calendar for cancellations
remove the XXX unless you are a spammer
skype: sfsiegel
phone: 302 831 0083
fax: 302 831 8458
  • Aug 2014: The VSL has received a grant from the U.S. Dept. of Energy to research the application of verification techniques to scientific/numerical programs. We are looking for Ph.D. students to work on this project as research assistants. Background in logic, model checking, or static analysis is a plus but an interest in those fields is all that is required. Interested parties should email Prof. Siegel.
I am currently teaching CISC 879.010 (Formal Methods for High Performance Computing). I teach the following courses (semi-)regularly:
  • CISC 108, Introduction to Computer Science I
  • CISC 372, Parallel Programming. MPI, OpenMP, fundamental concepts of concurrency for both message-passing and shared-memory models.
  • CISC 414/614, Formal Methods in Software Engineering. A core course in UD's Master of Science in Software Engineering program, 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 879, advanced seminar. Topics have included Advanced Topics in Software Verification, Abstract Interpretation, Advanced Parallel Computing.
  • 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.