10
Introduction to CS655 System Modeling and Analysis Moonzoo Kim Provable Software Laboratory CS Dept. KAIST CS Dept. KAIST 1

Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Introduction to CS655 System Modeling and Analysis

Moonzoo KimProvable Software Laboratory

CS Dept. KAISTCS Dept. KAIST

1

Page 2: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Main Theme of the Class• To improve the understanding of the target system through

a e e o t e C ass

formal modeling and analysis– In many cases, we do NOT know what we are building exactly !!!

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 22

Page 3: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Tragic Accidents due to SW Bugsag c cc de ts due to S ugs

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 33

Page 4: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Main Target Systems• Embedded systems where highly reliable SW technology is a

key to the success

Main Target Systems

key to the success – The portion of SW in commercial embedded devices increases

continuously– More than 50% of development time is spent on SW testing and

debugging

Intelligent Medical Devices Intelligent Medical Devices Home Service RobotsHome Service Robotsgg

Home NetworkHome Network Intelligent Mobile SystemsIntelligent Mobile Systems

Highly Reliable Highly Reliable SystemsSystems

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 44

Page 5: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Software Development CycleSo t a e e e op e t Cyc e

• A practical end-to-end formal framework for software

A SW Development Framework for SW with High AssuranceA SW Development Framework for SW with High Assurance

A practical end to end formal framework for software development

A SW Development Framework for SW with High AssuranceA SW Development Framework for SW with High Assurance

SystemSystemdesigndesign

RequirementRequirementanalysisanalysis

Design Design analysisanalysis

ImplementImplement--ationation

TestingTesting MonitoringMonitoring

Formalrequire- Formal Model Model-

assisted Model- monitoringRuntime

monitoring

gg yy

requirementSpec.

systemmodeling verification

analysis/verification generation

assistedcode

generation

basedtesting

monitoring monitoring and

checking

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 55

Page 6: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Main Research Approacha esea c pp oac• Practical formal methods that can be applied pp

to software intensive systems to enhance reliabilityy

Embedded SystemsEmbedded Systems(OS, device drivers, (OS, device drivers,

IT InfrastructureIT Infrastructure(middlewares, (middlewares,

Formal MethodsFormal Methods

robot systems, etc)robot systems, etc) security,security,protocols, etc)protocols, etc)

Formal MethodsFormal Methods(modeling/requirement(modeling/requirementlanguages, tools, etc)languages, tools, etc)

Computational TheoryComputational Theory(computational complexity,(computational complexity,

algorithm logic etc)algorithm logic etc)

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 66

algorithm, logic, etc)algorithm, logic, etc)

Page 7: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Research Trends toward Quality Systemsy y

• Academic research on developing embedded systems has reached t bl tstable stage– just adding a new function to a target system is not considered as an academic

contribution anymore• Research focus has moved on to the quality of the systems from the

mere functionalities of the systems– Energy efficient design ez-maintenance dynamic configuration etcEnergy efficient design, ez maintenance, dynamic configuration, etc

• Software reliability is one of the highly pursued qualities – NSDI 2007 Best paper

• “Life, Death, and the Critical Transition: Finding Liveness Bugs in Systems Code” @ U.C. San Diego

– Heuristic application of model checking to detect liveness bug– OSDI 2004 Best paper

• “Using Model Checking to Find Serious File System Errors” @ StanfordApplication of software model checking to find FS bugs

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab

– Application of software model checking to find FS bugs

77

Page 8: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Formal Modeling and Analysis as a Foundational and Promising CS ResearchFoundational and Promising CS Research

• 2007 ACM Turing Awardees– Prof. Edmund Clarke– Dr. Joseph Sipfakis– Prof. E. Allen Emerson

• For the contribution of migrating from pure research to industrial reality

• One of the four Microsoft Research main areas

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 88

Page 9: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Model Checking Basics (cont.)

• Undergraduate foundational CS classes contribute this area– CS204 Discrete mathematics– CS300 Algorithm– CS320 Programming language g g g g– CS322 Automata and formal language– CS350 Introduction to software engineering– CS402 Introduction to computational logic

SE

CS402 Introduction to computational logic

PLSE

OKSystem model

System spec.

PL

Automata

C t

orModel Checking

Logic

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 99

Counter example(s)

Requirement properties (Φ Ω)

Req. spec.

Logic

Page 10: Introduction to CS655 System Modeling and Analysis - KAISTswtv.kaist.ac.kr/courses/cs655-system-modeling-and-analysis/course_intro.pdf · key to the success – The portion of SW

Samples of Korean Industrial Application of Formal Modeling and AnalysisFormal Modeling and Analysis

Sector Translation

Demand Paging

Manager

OS

Unified Storage Platform

Flash Translation

L

FileSystem

SlaveLow Level Device Driver

Block Management

Adapt-ation

Module

Layer

Master

B k p

Slave

OneNAND® Flash Memory Devices

Backup Master

Provable SW Lab.CS Dept. KAIST

Introduction of Provable SW Lab 1010