We may earn an affiliate commission when you visit our partners.
Course image
Hans Zantema

The Automated Reasoning: Symbolic Model Checking course presents how the properties of acting systems and programs can be verified automatically. The basic notion is a transition system: any system that can be described by states and steps. We present how in CTL (computation tree logic) properties like reach-ability can be described.

Read more

The Automated Reasoning: Symbolic Model Checking course presents how the properties of acting systems and programs can be verified automatically. The basic notion is a transition system: any system that can be described by states and steps. We present how in CTL (computation tree logic) properties like reach-ability can be described.

Typically, a state space may be very large. One way to deal with this is symbolic model checking: a way in which sets of states are represented symbolically. A fruitful way to do so is by representing sets of states by BDDs (binary decision diagrams).

Definitions and basic properties of BDDs are presented in this course, and the algorithms to compute them, as needed for doing CTL model checking.

Enroll now

What's inside

Syllabus

CTL model checking
After a general introduction to the MOOC, this module starts by a general description of model checking.Then Computation Tree Logic (CTL) is introduced: a language in which properties on transition systems can be described. The algorithm to check whether such a property holds is given in an abstract setting, leaving implicit how sets of states are represented.
Read more
BDDs part 1
In this module BDDs (binary decision diagrams) are introduced as decision trees with sharing. They represent boolean functions. Extra requirements on both decision trees and BDDs are presented from which uniqueness of the representation can be concluded.
BDDs part 2
After some examples of BDD, the algorithm is presented and discussed to compute the ROBDD of any propositional formula.
BDD based symbolic model checking
In this last module the topics of CTL model checking and BDDs are combined: it is shown how BDDs can be used to represent sets of states in a way that the abstract algorithm for CTL mode checking can be used, and much larger state spaces can be dealt with than by using explicit state based model checking. Sever examples are presented.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches CTL model checking for specifying properties of transition systems
Presents BDD (binary decision diagram) for representing boolean functions and sets of states symbolically
Provides algorithms for computing BDDs, CTL model checking, and BDD based symbolic model checking
Offered by Hans Zantema, an experienced instructor
Presents examples for better understanding of the concepts
Requires prior knowledge of model checking and CTL

Save this course

Save Automated Reasoning: Symbolic Model Checking to your list so you can find it easily later:
Save

Reviews summary

Symbolic model checking concepts

Learners say this Symbolic Model Checking course is satisfactory overall. Concepts are well-organized, but some students wish the material went deeper. Students find the course to be good and report learning a lot. However, some students report that the discussion forums are not being moderated.
Students report learning a lot from this course.
"it was good and i learning so much here"
The course concepts are well-organized.
"Actually the contents are orgnized quite well"
Some students report that the discussion forums are not being moderated.
"it seems no one has answered the questions in Discussion Forum"
Students wish that the content went deeper.
"I think the course is too superficial. I would have liked more details."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Automated Reasoning: Symbolic Model Checking with these activities:
Review Binary Decision Diagrams
Review the concept of Binary Decision Diagrams to strengthen your pre-requisite knowledge and better understand the material presented in the course.
Show steps
  • Go over definitions and properties of BDDs
  • Practice computing OBDDs of propositional formulas
Review basic Logic and Set Theory
Strengthen your foundational understanding of Logic and Set Theory, which are prerequisites for this course.
Browse courses on Logic
Show steps
  • Review definitions and concepts of Logic
  • Practice solving logical problems
  • Review definitions and concepts of Set Theory
  • Practice solving problems involving sets and operations
Organize course materials for easy review
Enhance your retention by organizing and reviewing course materials such as notes, assignments, and quizzes.
Show steps
  • Gather and compile course materials
  • Structure and organize the materials logically
  • Review the organized materials regularly
Three other activities
Expand to see all activities and additional details
Show all six activities
Create a visual representation of BDDs
Solidify your understanding of BDDs by creating a visual representation that demonstrates their structure and properties.
Show steps
  • Choose a suitable tool or software
  • Design and implement your visual representation
  • Share your creation with others
Explore advanced topics in Symbolic Model Checking
Extend your knowledge by exploring advanced topics in Symbolic Model Checking through online tutorials and resources.
Show steps
  • Identify relevant advanced topics
  • Find and follow online tutorials and resources on these topics
  • Complete exercises and practice problems
Develop a prototype model checker
Apply your knowledge by developing a prototype model checker that can verify properties of simple systems.
Browse courses on Model Checking
Show steps
  • Design the architecture of your model checker
  • Implement the core functionality
  • Test and debug your model checker
  • Extend the functionality to handle more complex systems

Career center

Learners who complete Automated Reasoning: Symbolic Model Checking will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers work on a wide variety of computer software products and applications, from mobile phone apps to desktop programs to massive cloud-based systems that power web services. Aspiring Software Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of software systems. The course will teach students how to use symbolic model checking to efficiently analyze large software systems, identify potential errors, and ensure that the software meets its specifications. This course may be particularly helpful for Software Engineers who work on safety-critical systems, where it is essential to ensure that the software is reliable and free of defects.
Systems Analyst
Systems Analysts study how organizations or businesses work and help them improve their systems through the use of technology. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the theoretical foundations for describing and verifying the properties of complex systems. The course will teach students how to use symbolic model checking to efficiently analyze large systems, identify potential errors, and ensure that the system meets its specifications.
Computer Hardware Engineer
Computer Hardware Engineers research, design, develop, and test computer systems and components such as processors, circuit boards, memory devices, and power supplies. Aspiring Computer Hardware Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of computer hardware systems, including the ability to use symbolic model checking to efficiently analyze large hardware systems, identify potential errors, and ensure that the hardware meets its specifications.
Data Scientist
Data Scientists use advanced analytical techniques to extract meaningful insights from data. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of data analysis models. The course will teach students how to use symbolic model checking to efficiently analyze large data analysis models, identify potential errors, and ensure that the models are accurate and reliable.
Operations Research Analyst
Operations Research Analysts use advanced analytical techniques to help organizations make better decisions. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of operations research models. The course will teach students how to use symbolic model checking to efficiently analyze large operations research models, identify potential errors, and ensure that the models are accurate and reliable.
Business Analyst
Business Analysts help organizations improve their performance by analyzing and evaluating business processes and systems. Aspiring Business Analysts who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of business processes and systems. The course will teach students how to use symbolic model checking to efficiently analyze large business processes and systems, identify potential errors, and ensure that the processes and systems meet their specifications.
Verification Engineer
Verification Engineers ensure that products and systems meet the needs of customers. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of products and systems, including the ability to use symbolic model checking to efficiently analyze large products and systems, identify potential errors, and ensure that the products and systems meet their specifications.
Security Engineer
Security Engineers ensure that products and systems meet the needs of customers. Aspiring Security Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of products and systems, including the ability to use symbolic model checking to efficiently analyze large products and systems, identify potential errors, and ensure that the products and systems meet their specifications.
Quality Assurance Analyst
Quality Assurance Analysts ensure that products and services meet the needs of customers. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of products and services. The course will teach students how to use symbolic model checking to efficiently analyze large products and services, identify potential errors, and ensure that the products and services meet their specifications.
Software Test Engineer
Software Test Engineers test software to identify and fix bugs. Aspiring Software Test Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of software systems, including the ability to use symbolic model checking to efficiently analyze large software systems, identify potential errors, and ensure that the software meets its specifications.
Reliability Engineer
Reliability Engineers ensure that products and systems meet the needs of customers. Aspiring Reliability Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of products and systems, including the ability to use symbolic model checking to efficiently analyze large products and systems, identify potential errors, and ensure that the products and systems meet their specifications.
Validation Engineer
Validation Engineers ensure that products and systems meet the needs of customers. Aspiring Validation Engineers who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of products and systems, including the ability to use symbolic model checking to efficiently analyze large products and systems, identify potential errors, and ensure that the products and systems meet their specifications.
Safety Engineer
Safety Engineers ensure that products and systems meet the needs of customers. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of products and systems, including the ability to use symbolic model checking to efficiently analyze large products and systems, identify potential errors, and ensure that the products and systems meet their specifications.
Research Engineer
Research Engineers conduct research to develop new products and technologies. Those who wish to enter this field and enroll in the course on Automated Reasoning: Symbolic Model Checking will gain a strong foundation in the formal methods for describing and verifying the properties of new products and technologies, including the ability to use symbolic model checking to efficiently analyze large products and technologies, identify potential errors, and ensure that the products and technologies meet their specifications.
Software Architect
Software Architects design and develop software systems. Aspiring Software Architects who enroll in this course on Automated Reasoning: Symbolic Model Checking will learn the theoretical foundations for describing and verifying the properties of software systems, including the ability to use symbolic model checking to efficiently analyze large software systems, identify potential errors, and ensure that the software systems meet their specifications.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Automated Reasoning: Symbolic Model Checking.
Comprehensive introduction to model checking, a powerful technique for verifying the correctness of hardware and software systems. It covers the basic theory of model checking, as well as a range of advanced topics.
Provides a comprehensive overview of symbolic model checking, a technique for verifying the correctness of hardware and software systems. It covers the basic theory of symbolic model checking, as well as a range of advanced topics.
Provides a practical introduction to model checking, a technique for verifying the correctness of software systems. It covers the basic theory of model checking, as well as a range of advanced topics.
Provides a comprehensive introduction to formal methods, a set of techniques for specifying, designing, and verifying software and hardware systems. It covers the basic theory of formal methods, as well as a range of advanced topics.
Provides a comprehensive introduction to logic and automata theory, two fundamental areas of computer science. It covers the basic theory of logic and automata, as well as a range of advanced topics.
Provides a comprehensive introduction to model checking, a technique for verifying the correctness of software and hardware systems. It covers the basic theory of model checking, as well as a range of advanced topics.
Provides a comprehensive overview of model checking techniques and tools for verifying software systems. It covers the basic theory of model checking, as well as a range of advanced topics.
Provides a comprehensive overview of model checking in practice, a technique for verifying the correctness of software and hardware systems. It covers the basic theory of model checking, as well as a range of advanced topics.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Automated Reasoning: Symbolic Model Checking.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser