everything.study
COMP 403

REASONING AND SOFTWARE

Credit Hours: 3 · Undergraduate Upper-Level

Our reliance on software of all forms is increasing by the day. As a result, it is more important than ever to ensure that programs function correctly and cannot be exploited by hostile adversaries. The field of formal methods takes on this challenge, developing algorithms and programming methodologies that can be used to formally reason about what happens when software executes on arbitrary inputs, often without actually executing the program. Such reasoning can be used, for example, to identify subtle bugs and vulnerabilities in programs, or to give mathematical proofs of program correctness. This is a hands-on introduction to the field of formal methods. In this class, you will learn the theoretical foundations of these systems; you will also implement a series of systems that can be used to reason about the correctness of C programs. Graduate/Undergraduate Equivalency: COMP 503 . Mutually Exclusive: Cannot register for COMP 403 if student has credit for COMP 503 .

Prerequisites & course information

Short Title: REASONING ABOUT SOFTWARE Department: Computer Science Grade Mode: Standard Letter Course Type: Lecture Credit Hours: 3 Restrictions: Enrollment is limited to Undergraduate, Undergraduate Professional or Visiting Undergraduate level students. Course Level: Undergraduate Upper-Level Prerequisite(s): ( COMP 382 and COMP 215 ) or COMP 482 or COMP 409 or COMP 509

Sources