DEPARTMENT OF SOFTWARE ENGINEERING (ENGLISH) | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | 1413002016 | ||||||||
Ders İsmi: | Formal Verification | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | EN | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Department Elective | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Dr.Öğr.Üyesi Adem ÖZYAVAŞ | ||||||||
Course Lecturer(s): | |||||||||
Course Assistants: |
Course Objectives: | During this course, you will learn how to formally specify a system's behavior, how to prove that the high-level design of the system meets that specification and finally how to show that the system's low-level implementation retains those properties. The course does not assume any prior knowledge in formal verification. We will start from the basics of the Dafny language and build from there. In the end, you should be able to design and prove correct a complex system. |
Course Content: | In this class, you will learn an entirely different way to build robust software: by writing code that is formally proven to be free of bugs. We will approach this problem from a systems perspective, focusing on how to design complex (often distributed) systems, while still being able to reason about their correctness. At the same time, the class will give you hands on experience with Dafny, one of the most promising tools for practical formal verification of systems software. |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Resmi Doğrulamaya Giriş | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
2) | datatypes, predicates, assertions | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
3) | recursion, loop invariants | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
4) | Specification and state machines | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
5) | Proving properties and inductive invariants | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
6) | Modeling distributed and async systems | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
7) | Recap of first part | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
8) | Midterm | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
9) | Asynchronous specs | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
10) | Asynchronous specs (cont.) | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
11) | State machines and behaviors invariants and Modeling distributed and async systems | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
12) | Modules and automation | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
13) | Cross-host concurrency | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
14) | The future of systems verification | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
15) | Final | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
Course Notes / Textbooks: | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
References: | Formal Verification by Erik Seligman, Tom Schubert, M Kumar Released July 2015 Publisher(s): Morgan Kaufmann ISBN: 9780128008157 |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
||||||
---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||
1) Competent knowledge of mathematics, science and technology, and computer engineering; ability to apply this knowledge to engineering solutions. | ||||||||||
2) Skills to design and conduct experiments, collect data, analyze and interpret results. | ||||||||||
3) Ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; ability to apply modern design methods for this purpose. | ||||||||||
4) Ability to develop, select and use modern techniques and tools required for analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively. | ||||||||||
5) Ability to design and conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics. | ||||||||||
6) Ability to work effectively in intra-disciplinary and multi-disciplinary teams; ability to work individually. | ||||||||||
7) Ability to communicate effectively in Turkish, both orally and in writing; Knowledge of at least one foreign language; the ability to write and understand written reports effectively, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. | ||||||||||
8) Awareness of the necessity of lifelong learning; the ability to access information, to follow developments in science and technology, and to constantly renew oneself. | ||||||||||
9) Acting in accordance with ethical principles, professional and ethical responsibility awareness; information about standards used in engineering applications. | ||||||||||
10) Information about business life practices such as project management, risk management and change management; awareness of entrepreneurship, innovation; information about sustainable development. | ||||||||||
11) Knowledge about the universal and social effects of engineering applications on health, environment and safety and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Competent knowledge of mathematics, science and technology, and computer engineering; ability to apply this knowledge to engineering solutions. | |
2) | Skills to design and conduct experiments, collect data, analyze and interpret results. | |
3) | Ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; ability to apply modern design methods for this purpose. | |
4) | Ability to develop, select and use modern techniques and tools required for analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively. | |
5) | Ability to design and conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics. | |
6) | Ability to work effectively in intra-disciplinary and multi-disciplinary teams; ability to work individually. | |
7) | Ability to communicate effectively in Turkish, both orally and in writing; Knowledge of at least one foreign language; the ability to write and understand written reports effectively, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. | |
8) | Awareness of the necessity of lifelong learning; the ability to access information, to follow developments in science and technology, and to constantly renew oneself. | |
9) | Acting in accordance with ethical principles, professional and ethical responsibility awareness; information about standards used in engineering applications. | |
10) | Information about business life practices such as project management, risk management and change management; awareness of entrepreneurship, innovation; information about sustainable development. | |
11) | Knowledge about the universal and social effects of engineering applications on health, environment and safety and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions. |
Bireysel çalışma ve ödevi | |
Course | |
Grup çalışması ve ödevi | |
Homework | |
Proje Hazırlama | |
Rapor Yazma |
Semester Requirements | Number of Activities | Level of Contribution |
Homework Assignments | 8 | % 15 |
Project | 1 | % 15 |
Midterms | 1 | % 30 |
Semester Final Exam | 1 | % 40 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 60 | |
PERCENTAGE OF FINAL WORK | % 40 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 3 | 42 |
Study Hours Out of Class | 14 | 3 | 42 |
Project | 1 | 20 | 20 |
Homework Assignments | 8 | 12 | 96 |
Midterms | 1 | 2 | 2 |
Final | 1 | 3 | 3 |
Total Workload | 205 |