Structural Resolution for Abstract Compilation of Object-Oriented Languages

CoALP-Ty Pub Date : 2017-09-13 DOI:10.4204/EPTCS.258.2
Luca Franceschini, D. Ancona, Ekaterina Komendantskaya
{"title":"Structural Resolution for Abstract Compilation of Object-Oriented Languages","authors":"Luca Franceschini, D. Ancona, Ekaterina Komendantskaya","doi":"10.4204/EPTCS.258.2","DOIUrl":null,"url":null,"abstract":"We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries to be solved with respect to the resulting logic program. We exploit a coinductive semantics to deal with infinite terms and proofs produced by recursive types and methods. Thanks to the recent notion of structural resolution for coinductive logic programming, we are able to infer very precise type information, including a class of irrational recursive types causing non-termination for previously considered coinductive semantics. We also show how to transform logic programs to make them satisfy the preconditions for the operational semantics of structural resolution, and we prove this step does not affect the semantics of the logic program.","PeriodicalId":231667,"journal":{"name":"CoALP-Ty","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"CoALP-Ty","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.258.2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries to be solved with respect to the resulting logic program. We exploit a coinductive semantics to deal with infinite terms and proofs produced by recursive types and methods. Thanks to the recent notion of structural resolution for coinductive logic programming, we are able to infer very precise type information, including a class of irrational recursive types causing non-termination for previously considered coinductive semantics. We also show how to transform logic programs to make them satisfy the preconditions for the operational semantics of structural resolution, and we prove this step does not affect the semantics of the logic program.
面向对象语言抽象编译的结构解析
针对面向对象语言的精确静态类型分析,提出了基于共归纳逻辑程序设计的抽象编译方法。源代码被翻译成逻辑程序,然后类型检查和推理问题相当于针对结果逻辑程序要解决的查询。我们利用协归纳语义来处理无穷项和由递归类型和方法产生的证明。由于最近对共归纳逻辑规划的结构解析的概念,我们能够推断非常精确的类型信息,包括一类非理性递归类型,导致先前考虑的共归纳语义的非终止。我们还展示了如何对逻辑程序进行转换,使其满足结构解析的操作语义的前提条件,并证明了这一步骤不影响逻辑程序的语义。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信