软件验证

Daniel Kroening
{"title":"软件验证","authors":"Daniel Kroening","doi":"10.3233/978-1-58603-929-5-505","DOIUrl":null,"url":null,"abstract":"ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstraction of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstract Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı)Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı) Recall that f ] op = α ◦ fop ◦ γ is the best abstraction of fop. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 29 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Forward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: −−→ MFP (A) v γ (−−→ MFP ( A )) α (−−→ MFP (A) ) v −−→ MFP ( A ) −−−→ MOP (A) v γ (−−−→ MOP ( A )) α (−−−→ MOP (A) ) v −−−→ MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Backward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: ←−− MFP (A) v γ (←−− MFP ( A )) α (←−− MFP (A) ) v ←−− MFP ( A ) ←−−− MOP (A) v γ (←−−− MOP ( A )) α (←−−− MOP (A) ) v ←−−− MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Back Again to Sign Analysis: Galois Connection","PeriodicalId":250589,"journal":{"name":"Handbook of Satisfiability","volume":"68 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":"{\"title\":\"Software Verification\",\"authors\":\"Daniel Kroening\",\"doi\":\"10.3233/978-1-58603-929-5-505\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstraction of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstract Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı)Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı) Recall that f ] op = α ◦ fop ◦ γ is the best abstraction of fop. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 29 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Forward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: −−→ MFP (A) v γ (−−→ MFP ( A )) α (−−→ MFP (A) ) v −−→ MFP ( A ) −−−→ MOP (A) v γ (−−−→ MOP ( A )) α (−−−→ MOP (A) ) v −−−→ MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Backward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: ←−− MFP (A) v γ (←−− MFP ( A )) α (←−− MFP (A) ) v ←−− MFP ( A ) ←−−− MOP (A) v γ (←−−− MOP ( A )) α (←−−− MOP (A) ) v ←−−− MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Back Again to Sign Analysis: Galois Connection\",\"PeriodicalId\":250589,\"journal\":{\"name\":\"Handbook of Satisfiability\",\"volume\":\"68 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"23\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Handbook of Satisfiability\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3233/978-1-58603-929-5-505\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Handbook of Satisfiability","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-58603-929-5-505","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 23

摘要

具体语义< (P(X→R),任任),F,Q,qin,qout,X,→,F, y>伽罗瓦连接(P(X→R),任任)−−→←−α γ (L,v) L是变量的一组机器可表示的“性质”。例题L = {x是偶数,y是奇数或负数,x≥y⇒x = 2i} γ(ψ)是抽象的"性质" ψ的含义。α(φ)编码的是最精确的φ的近似。V对应于“属性”之间的蕴涵,抽象出了大哉。具体语义的抽象:直观具体语义< (P(X→R),,F,Q,qin,qout,X,→,F, >伽罗瓦连接(P(X→R),)−−→←−α γ (L,v) L是一组机器可表示的变量的“属性”。例题L = {x是偶数,y是奇数或负数,x≥y⇒x = 2i} γ(ψ)是抽象的"性质" ψ的含义。α(φ)编码的是最精确的φ的近似。V对应于“属性”之间的蕴涵,抽象出了大哉。关于具体语义的解释INF555 ' 09 28 / 100ion:直观具体语义< (P(X→R),,F,Q,qin,qout,X,→,F, >伽罗瓦连接(P(X→R),)−−→←−α γ (L,v) L是一组机器可表示的“属性”变量。例题L = {x是偶数,y是奇数或负数,x≥y⇒x = 2i} γ(ψ)是抽象的"性质" ψ的含义。α(φ)编码的是最精确的φ的近似。V对应于“属性”之间的蕴涵,抽象出了大哉。考虑一个数据流实例a = < (L,v),F,Q,qin,qout,X,→,F, y>和一个伽罗瓦连接(L,v)−−→←−α γ (L,v)。定义由A和(L,v)−−→←−α γ (L,v)诱导的抽象数据流实例A为A = < (L,v),F,Q,qin,qout,X,→,F, y>,其中:F = L mon−−→L F = λop。考虑一个数据流实例a = < (L,v), f,Q,qin,qout,X,→,f, y>和一个伽罗瓦连接(L,v)−−→←−−α γ (L,v)。定义由A和(L,v)−−→←−α γ (L,v)诱导的抽象数据流实例A为A = < (L,v),F,Q,qin,qout,X,→,F, y>,其中:F = L mon−−→L F = λop。回想一下,f] op = α◦top◦γ是top的最佳抽象。对于任意集Q和伽罗瓦连接(L,v)−−→←−−α γ (L,v),我们有(Q→L,v)−−→←−α γ (Q→L,v),其中:α(a) = λq。α(a(q)) γ(b) = λq。对于任意数据流实例A与伽罗瓦连接(L,v)−−→←−α γ(L,v),则导出的抽象数据流实例A满足:−−→MFP (A) vγ(−−→MFP (A))α(−−→MFP (A)) v−−→MFP (A)−−−→拖把(A) vγ(−−−→拖把(A))α(−−−→拖把(A)) v−−−→拖把(A)格雷戈勒Sutre软件验证抽象解释INF555 09年30/100的正确性诱导伽罗瓦连接的抽象数据流分析扩展为任何一组函数Q和伽罗瓦连接(L, v)−−→←−−αγ(L, v),我们(Q→L, v)−−→←−−αγ(Q→L, v)地点:α(A) =λQ。α(a(q)) γ(b) = λq。γ(b (q))定理(诱导文摘逆向分析的正确性)任何数据流实例和伽罗瓦连接(L, v)−−→←−−αγ(L, v)诱导抽象数据流实例满足:←−−MFP (A) vγ(←−−MFP (A))α(←−−MFP (A)) v←−−MFP (A)←−−−拖把(A) vγ(←−−−拖把(A))α(←−−−拖把(A)) v←−−−拖把(A)格雷戈勒Sutre软件验证抽象解释INF555 09年30/100回来签署分析:伽罗瓦连接
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Software Verification
ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstraction of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100ion of the Concrete Semantics: Intuition Concrete Semantics 〈 (P(X→ R),⊆),F ,Q,qin,qout ,X,→, f , ı 〉 Galois connection (P(X→ R),⊆) −−→ ←−− α γ (L,v) L is a set of machine-representable “properties” of the variables. Example L = {x is even, y is odd or negative, x≥y ⇒ x = 2i} γ(ψ) is the meaning of an abstract “property” ψ. α(φ) encodes a sound approximation of φ, the most precise one. v corresponds to entailment between “properties”, and abstracts ⊆. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 28 / 100 Abstract Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı)Semantics Induced by a Galois Connection Consider a data flow instance A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 and a Galois connection (L,v) −−→ ←−− α γ (L,v). Definition The abstract data flow instance A induced by A and (L,v) −−→ ←−− α γ (L,v) is A = 〈 (L,v),F ,Q,qin,qout ,X,→, f , ı 〉 where: F = L mon −−→ L f = λop . f ] op ı = α(ı) Recall that f ] op = α ◦ fop ◦ γ is the best abstraction of fop. Grégoire Sutre Software Verification Abstract Interpretation INF555’09 29 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Forward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: −−→ MFP (A) v γ (−−→ MFP ( A )) α (−−→ MFP (A) ) v −−→ MFP ( A ) −−−→ MOP (A) v γ (−−−→ MOP ( A )) α (−−−→ MOP (A) ) v −−−→ MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Correctness of Induced Abstract Data Flow Analysis Extension of Galois Connections to Functions For any set Q and Galois connection (L,v) −−→ ←−− α γ (L,v), we have (Q → L,v) −−→ ←−− α γ (Q → L,v) where: α(a) = λq . α(a(q)) γ(b) = λq . γ(b(q)) Theorem (Correctness of Induced Abstract Backward Analysis) For any data flow instance A and Galois connection (L,v) −−→ ←−− α γ (L,v), the induced abstract data flow instance A satisfies: ←−− MFP (A) v γ (←−− MFP ( A )) α (←−− MFP (A) ) v ←−− MFP ( A ) ←−−− MOP (A) v γ (←−−− MOP ( A )) α (←−−− MOP (A) ) v ←−−− MOP ( A ) Grégoire Sutre Software Verification Abstract Interpretation INF555’09 30 / 100 Back Again to Sign Analysis: Galois Connection
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Fixed-Parameter Tractability Complete Algorithms A History of Satisfiability Automated Configuration and Selection of SAT Solvers Quantified Boolean Formulas
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1