CENG 651
Formal Methods for Safety and Security
This course presents how to incorporate formal methods within software engineering methodologies, especially for those applications which are critical for safety and security. The course introduces some specific formal notations, such as the CSP process algebra and Temporal Logics, as well as automatic tools for system modeling and verification. Finally, the course investigates the use of formal methods in the analysis of safety and security properties of systems.
Course Objectives:
To teach formal methods within software engineering for safety and security. To describe the algorithms used within software engineering for safety and security and to improve ability to implement these algorithms. To form acquaintance with the applications of this research area. To improve the ability of written and oral presentation.
Recommended or Required Reading:
B. Bérard et al.. Systems and Software Verification, Model Checking Techniques and Tools, Springer-Verlag, 2001
Learning Outcomes:
1. Describe the fundamental concepts in formal methods within software engineering for safety and security
2. Identify state-of-the-art formal methods used in software engineering for safety and security
3. Construct programs that implement algorithms for safety and security of software systems
4. Prepare written and oral presentation for the performed work
| Topics |
| Introduction to Formal Methods |
| Propositional Logic and Predicate Logic |
| Program Verification |
| Program Verification |
| CSP process algebra |
| Protocol Verification |
| Model Checking |
| System Modeling with Automata |
|
System Properties Specification with Temporal Logics
|
| Model Checking Algorithms |
| Model Checking Algorithms |
| Symbolic Model Checking |
| Abstraction Methods |
| SPIN Model Checker |
Grading:
Midterm: 30%
Homework: 10%
Research Presentation: 30%
Final: 30%
- CENG 500
- CENG 501
- CENG 502
- CENG 503
- CENG 504
- CENG 505
- CENG 506
- CENG 507
- CENG 508
- CENG 509
- CENG 511
- CENG 512
- CENG 513
- CENG 514
- CENG 515
- CENG 516
- CENG 517
- CENG 518
- CENG 521
- CENG 522
- CENG 523
- CENG 524
- CENG 525
- CENG 531
- CENG 532
- CENG 533
- CENG 534
- CENG 541
- CENG 542
- CENG 543
- CENG 544
- CENG 551
- CENG 552
- CENG 555
- CENG 556
- CENG 557
- CENG 561
- CENG 562
- CENG 563
- CENG 564
- CENG 565
- CENG 566
- CENG 567
- CENG 568
- CENG 590
- CENG 608
- CENG 611
- CENG 612
- CENG 613
- CENG 631
- CENG 632
- CENG 641
- CENG 642
- CENG 643
- CENG 661
- CENG 662
- CENG 663
