2016 Workshop on System Verification

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Graduate major in Computer Science
Instructor(s)
Nishizaki Shin-Ya  Nakajima Shin 
Class Format
Lecture / Exercise     
Media-enhanced courses
Day/Period(Room No.)
Tue5-8(W371)  
Group
-
Course number
CSC.T436
Credits
2
Academic year
2016
Offered quarter
4Q
Syllabus updated
2016/12/14
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

Students perform basic experiments related to mathematical logic, program theory, and parallel system theory which are the basis of system verification. The course also covers formal logic, type inference systems, structural operational semantics, verifications systems based on process algebra, software engineering techniques such as unit tests, and regression tests, as well as support technology from the software development environment, engaging in structured experiments and applied experiments for real problems.

Students also gain an understanding of the basics of system verification, not just from a theoretical perspective, but also from a practical software engineering and programming technology experiment.

Student learning outcomes

Students learn about technology related to system verification. They acquire theoretical knowledge about system verification and the practical skills to apply it. Students specifically learn the following. (1)Understand the overview of system verification. (2) Build experience using automatic verification tools and the skills to apply them to concrete problems. (3) Acquire knowledge and practical skills related to the verification of function specifications and behavior specifications. (4) Acquire knowledge related to program verification.

Keywords

Concurrent system, formal specification, model checker, deadlock, structural operational semantics, axiomatic semantics, program verification, program analysis, theorem prover

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

This course is based on both lectures and workshops.

Course schedule/Required learning

  Course schedule Required learning
Class 1 Overview of system verification  
Class 2 Automated verification tool (1)  
Class 3 Automated verification tool (2)  
Class 4 Verification of functional specification(1)  
Class 5 Verification of functional specification(2)  
Class 6 Verification of functional specification(3)  
Class 7 Verification of functional specification(4)  
Class 8 Verification of functional specification(5)  
Class 9 Interim review  
Class 10 Verification of behavioral specification (1)  
Class 11 Verification of behavioral specification (2)  
Class 12 Verification of behavioral specification (3)  
Class 13 Program verification (1)  
Class 14 Program verification (2)  
Class 15 Review  

Textbook(s)

 

Reference books, course materials, etc.

 

Assessment criteria and methods

Evaluation by reports

Related courses

  • CSC.T261 : Logic in Computer Science
  • CSC.T272 : Artificial Intelligence
  • CSC.T422 : Mathematical Theory of Programs
  • MCS.T404 : Logical Foundations of Computing
  • CSC.T263 : Functional Programming Fundamentals

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Knowledge on mathematical logic, especially, first-order propositional logic is indispensable.

Page Top