并发程序精化验证及其应用(PPT讲稿)Refinement Verification of Concurrent Programs and Its Applications

Refinement verification of Concurrent Programs and Its Applications Hongjin Liang UniV. of science and technology of china Advisors: Xinyu Feng and Zhong Shao
Refinement Verification of Concurrent Programs and Its Applications Hongjin Liang Univ. of Science and Technology of China Advisors: Xinyu Feng and Zhong Shao

Refinement void main(t void main(t print a square; C print a rectangle; Tcs: t has no more observable behaviors (e.g. lo events by print)than S
Refinement void main() { print a rectangle; } void main() { print a square; } T S: T has no more observable behaviors (e.g. I/O events by print) than S

Concurrent Program Refinement Compilers for concurrent programs Multithreaded S Java programs Correct( Compiler) Compiler VS, T. T= Compilers)=TcS Java bytecode
Concurrent Program Refinement • Compilers for concurrent programs T S Compiler Multithreaded Java programs Java bytecode Correct(Compiler): S, T. T = Compiler(S) T S

Concurrent Program Refinement Compilers for concurrent programs Fine-grained impl. of concurrent objects(libraries) E.g. javautil.concurrent
Concurrent Program Refinement • Compilers for concurrent programs • Fine-grained impl. of concurrent objects (libraries) – E.g. java.util.concurrent

Concurrent object O Client code c void push(int v)I int po push (7) local b: =false x, t; push (6) X:=new Node(v) x= popo While op: x, next = t b= cas(&top, t, x); Whole program C[OJ How to specify/prove correctness?
Whole program C[O] … push(7); x = pop(); … … push(6); … Client code C Concurrent object O void push(int v) { local b:=false, x, t; x := new Node(v); while (!b) { t := top; x.next = t; b = cas(&top, t, x); } } … int pop() { … … } How to specify/prove correctness?

Correctness of concurrent objects Lineariza bility (herlihy &Wing 90) O Slin S: correctness w.r.t. functionality Spec s: abstract object atomic methods Hard to understand/use Equivalent to contextual refinement (Filipovic et al. J -o Ctx s iff VC. clo] cc[s
Correctness of Concurrent Objects • Linearizability [Herlihy&Wing’90] – O lin S : correctness w.r.t. functionality – Spec S : abstract object (atomic methods) – Hard to understand/use • Equivalent to contextual refinement [Filipovic et al.] – O ctxt S iff C. C[O] C[S]

O Ctx s iff VC. clo]c cs Concrete void push(int v) obj. O Client C int popo t X y: pop( push(x);‖pint; push Abstract pop obi. S
… x := 7; push( x ); … … y := pop(); print(y); … Client C Concrete obj. O Abstract obj. S void push(int v) { … } int pop() { … } push pop O ctxt S iff C. C[O] C[S]

Concurrent Program Refinement Compilers for concurrent programs Linearizability of concurrent objects(libraries) Impl. of software transactional memory stm) Atomic block(transaction )> fine-grained impl
Concurrent Program Refinement • Compilers for concurrent programs • Linearizability of concurrent objects (libraries) • Impl. of software transactional memory (STM) – Atomic block (transaction) → fine-grained impl

Concurrent Program Refinement Compilers for concurrent programs Linearizability of concurrent objects(libraries) Impl. of software transactional memory stm) Impl of concurrent garbage collectors (Gc) Impl of operating system(OS) kernels Is such a refinement T c s general enough easy to verify?
Concurrent Program Refinement • Compilers for concurrent programs • Linearizability of concurrent objects (libraries) • Impl. of software transactional memory (STM) • Impl. of concurrent garbage collectors (GC) • Impl. of operating system (OS) kernels Is such a refinement T S general enough & easy to verify?

Problems withtcs T1 S1 T2 S2 (Compositionality) T1 T2 9 S1 $2 Existing work on verifying TCS: either is not compositional, or limIts applications
(Compositionality) T1 || T2 S1 || S2 T1 S1 T2 S2 Problems with T S Existing work on verifying T S : either is not compositional, or limits applications
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机原理与其应用》课程教学资源(PPT课件讲稿)第8章 单片机的存储器的扩展.pptx
- 南京大学:模型检验(PPT课件讲稿)model checking.pptx
- 苏州大学:《中文信息处理》课程教学资源(PPT课件讲稿)第二章 汉字代码体系.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 选择结构程序设计.ppt
- 《机器学习》课程教学资源(PPT课件讲稿)第六章 特征降维和选择.ppt
- 数据挖掘实现的住院病人的实时预警(PPT讲稿)Real-Time Clinical Warning for Hospitalized Patients via Data Mining.pptx
- 《PHP程序设计》教学资源(PPT课件讲稿)项目四 面向对象网站开发.ppt
- 《软件工程》课程教学资源(PPT课件讲稿)第3章 软件需求分析.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 3 Process Description and Control.ppt
- 随机图与复杂网络(PPT讲稿)随机演化博弈的算法研究及其在复杂网络中的应用.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第四章 存储器.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)语法分析 Syntax analysis(自底向上分析 Bottom-Up Parsing).ppt
- 《计算机网络安全》课程教学资源(PPT课件讲稿)第二章 密码学技术.ppt
- 《软件工程》课程教学资源(PPT课件讲稿)第7章 软件测试.ppt
- 上海交通厌:《通信网络》课程教学资源(PPT讲稿)DELAY MODELS IN DATA NETWORKS、LITTLE’S LAW、ARRIVAL MODEL、M/M/X QUEUING MODELS.pptx
- 《高级语言程序设计》课程教学资源(试卷习题)试题四(无答案).doc
- 《计算机网络和因特网》教学资源(PPT讲稿)网络互连(概念, IP 地址, IP 路由, IP 数据报, 地址解析).ppt
- 西安交通大学:《网络与信息安全》课程PPT教学课件(网络入侵与防范)身份认证.ppt
- 《计算机基础及C语言程序设计》课程PPT教学课件(讲稿)第1章 概论.ppt
- 《计算机网络安全》课程电子教案(PPT教学课件)第一章 计算机网络安全概述.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,3rd edition)Chapter 5 Link Layer and LANs.pps
- 上海交通大学:操作系统安全(PPT课件讲稿)操作系统安全 OS Security(邹恒明).pps
- 某高校计算机专业课程教学大纲合集(汇编).pdf
- 电子科技大学:《网络安全与网络工程》课程教学资源(PPT课件讲稿)第六章 杂凑函数(主讲:聂旭云).ppt
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(PPT课件讲稿)第六讲 死锁及其处理.ppt
- 西华大学:《电子商务概论》课程教学资源(PPT课件讲稿)第7章 电子商务物流.ppt
- 《软件工程》课程教学资源(PPT课件讲稿)第12章 软件开发工具StarUML及其应用.ppt
- 《计算机网络》课程PPT教学课件(Windows)第09讲 DNS服务.ppt
- 中国科学技术大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 线性表.pps
- 西安理工大学:面向主题的服务(PPT讲稿)综合集成支撑平台业务化——互联网信息化(平台、内容、服务).ppt
- 《数据科学》课程教学资源(PPT课件讲稿)第2章 数据预处理.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第2章 运算方法和运算器.ppt
- 《数据库系统原理》课程PPT教学课件(SQLServer)第12章 并发控制.ppt
- 关键词抽取、社会标签推荐及其在社会计算中的应用.pptx
- 克里特大学:The Application of Artificial Neural Networks in Engineering and Finance.ppt
- 山东大学:IPv6试商用的进展和挑战(PPT讲稿,网络与信息中心:秦丰林).pptx
- 清华大学:域内路由选择(PPT课件讲稿)Intra-domain routing.pptx
- 清华大学:TCP and Congestion Control(1).pptx
- 《人工智能技术导论》课程教学资源(PPT课件讲稿)第3章 图搜索与问题求解.ppt