×

TiML公司

swMATH ID: 27564
软件作者: Wang,P.、Wang,D.、Chlipala,A。
描述: TiML:一种使用不变量进行实际复杂性分析的函数语言。我们提出了TiML(Timed ML),这是一种类似ML的函数语言,具有类型中的时间复杂性注释。它使用索引类型来表示数据结构的大小和函数运行时间的上限;以及细化种类以约束这些索引,表示数据结构不变量和前置/后置条件。索引类型足够灵活,TiML避免了内置的大小概念,程序员可以选择以任何有助于分析的方式索引用户定义的数据类型。TiML的显著特点是支持高度自动化的时限验证,适用于具有非平凡不变量的数据结构。程序员提供类型注释,类型检查器生成由SMT解算器释放的验证条件。支持类型和索引推理以降低注释负担,此外,基于启发式模式匹配的递归解算器可以从类型检查期间生成的递归中推断出较大的O复杂性(例如,使用主定理来处理分治式递归)。我们通过实现一套广泛的案例研究模块来评估TiML的可用性,证明了TiML虽然缺乏完全自动化和理论完整性,但它的通用性足以验证算法和数据结构(如经典列表操作、合并排序、,Dijkstra的最短路径算法、红黑树、Braun树、函数队列和具有m n logn等边界的动态表。正如我们在案例研究中的实证结果所表明的那样,学习曲线和注释负担是合理的。我们在Coq中形式化了TiML的类型健全性证明。
主页: https://dl.acm.org/citation.cfm?doid=3152284.3133903
相关软件: TcT公司z3(零3)分离逻辑基础知识AProVE公司王牌优化数学卫星摊销复杂性莫德KITTeL公司Ctrl键Yices公司Why3号机组Ciao公司WhyML公司CiaoPP公司HOL公司自动2_Imperative_HOL中间值朗道符号
引用于: 8文件

按年份列出的引文