Skip to main content

C S 486

Verification and Validation

Computer Science College of Physical and Mathematical Sciences

Course Description

Foundational topics in verification and validation; the application of logic to building correct systems. Covers logics to formally specify properties of systems, verifications of basic systems, and advanced topics in formal verification for complex systems.

When Taught

Fall

Grade Rule

Grade Rule 8: A, B, C, D, E, I (Standard grade rule)

Min

3

Fixed

3

Fixed

3

Fixed

0

Title

Formally reason about concurrent systems and executions

Learning Outcome

Formally reason about concurrent systems and executions

Title

Define correctness in concurrent systems

Learning Outcome

Define basic correctness principles of concurrent systems including deadlock, live-lock, safety, and general liveness.

Title

Analyze concurrent objects for correctness

Learning Outcome

Use tools to analyze concurrent objects for correctness and performance

Title

Learn best-practices for spin locks and monitors

Learning Outcome

Learn best-practices for spin locks and monitors

Title

Discuss wait-free versus lock-free implementations

Learning Outcome

Compare and contrast wait-free and lock-free properties in concurrent objects

Title

Understand and use concurrent data structures

Learning Outcome

Understand and use concurrent data structures

Title

Correctly use barriers and fences

Learning Outcome

Correctly use barriers and fences

Title

Have working knowledge of tools and techniques for testing c

Learning Outcome

Have working knowledge of tools and techniques for testing concurrent programs

Title

Be familiar to libraries to support concurrent programming i

Learning Outcome

Be familiar to libraries to support concurrent programming in C, C , C#, and Java

Title

Describe future trends in multi-processor programming

Learning Outcome

Describe future trends in multi-processor programming