Tree Constraint Solver (TCS) - Linear tree inequality solver for superlinear resource bounds on Java programs

Tree Constraint Solver (TCS) - 用于 Java 程序上超线性资源边界的线性树不等式求解器

基本信息

项目摘要

This project aims to provide provably correct upper bounds on the resource consumption of unannotated object-oriented Java programs. Such automatic resource analysis has become increasingly popular with considerable industrial interest but was hitherto mostly confined to functional programs and classical imperative programs with arrays as the only essential data structure. We build upon the well-established framework of type-based amortized analysis, which has been applied to functional programming languages with great success. Object-oriented programming poses several new challenges: a) data structures are implicitly defined through classes, but not explicitly given as in functional datatype declarations, b) imperative updates may lead to complex aliasing, c) more general data structures like doubly-linked lists, or even general graphs are possible. In earlier work, these challenges were addressed with a reduction from the resource bound question to an innovative constraint system involving infinitely many numerical variables (”linear tree constraints (LTC)”). However, the heuristic constraint solver that was presented there was limited to certain special cases. In very recent work, it was shown that the general LTC are decidable and thus might be also tractable in practice and the aim of this project is to explore this in detail. Concretely, we will develop and implement an efficient solution algorithm for general LTC that delivers also concrete upper bounds on the heap space consumption of programs. For that, decidability alone is not sufficient, we also need to detect minimal solutions to the constraints in terms of closed formulas. Further, we will determine and prove the exact complexity of the decision problem and find a new, better algorithm that falls into this complexity class. The decidability result obtained by now is a good starting point that makes the plan likely to work out.We will then use these results to design a type-based amortized resource analysis for imperative object-oriented programs and test it on a variety of example programs with a prototype implementation based on Java syntax.
这个项目的目的是提供可证明的正确上限的资源消耗的无注释的面向对象的Java程序。这种自动资源分析已经变得越来越受欢迎,具有相当大的工业兴趣,但迄今为止主要局限于函数程序和经典的命令式程序与数组作为唯一的基本数据结构。我们建立在基于类型的摊销分析,这已被应用于函数式编程语言取得了巨大成功的良好的框架。面向对象编程提出了几个新的挑战:a)数据结构是通过类隐式定义的,但不是像函数数据类型声明那样显式给出,B)命令式更新可能导致复杂的别名,c)更通用的数据结构,如双向链表,甚至通用图都是可能的。在早期的工作中,这些挑战是解决减少资源约束的问题,一个创新的约束系统,涉及无限多的数值变量(“线性树约束(LTC)”)。然而,那里提出的启发式约束求解器仅限于某些特殊情况。在最近的工作中,它表明,一般的LTC是可判定的,因此在实践中也可能是易处理的,本项目的目的是详细探讨这一点。具体地说,我们将开发和实现一个有效的解决方案算法一般LTC,也提供了具体的上限堆空间消耗的程序。为此,仅可判定性是不够的,我们还需要检测封闭公式中约束的最小解。此外,我们将确定和证明决策问题的精确复杂性,并找到一个新的,更好的算法,福尔斯属于这个复杂性类。现在得到的可判定性结果是一个很好的起点,使计划可能workedout.We将使用这些结果来设计一个基于类型的摊销资源分析的命令式面向对象的程序,并测试它的各种示例程序的原型实现的基础上Java语法。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Dr. Sabine Bauer其他文献

Dr. Sabine Bauer的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

相似海外基金

CRII: AF: Streaming Approximability of Maximum Directed Cut and other Constraint Satisfaction Problems
CRII:AF:最大定向切割和其他约束满足问题的流近似性
  • 批准号:
    2348475
  • 财政年份:
    2024
  • 资助金额:
    --
  • 项目类别:
    Standard Grant
Promise Constraint Satisfaction Problem: Structure and Complexity
承诺约束满足问题:结构和复杂性
  • 批准号:
    EP/X033201/1
  • 财政年份:
    2024
  • 资助金额:
    --
  • 项目类别:
    Fellowship
AF:Small: Bayesian Estimation and Constraint Satisfaction
AF:Small:贝叶斯估计和约束满足
  • 批准号:
    2342192
  • 财政年份:
    2024
  • 资助金额:
    --
  • 项目类别:
    Standard Grant
Speeding-up SAT-based Constraint Optimization Solvers
加速基于 SAT 的约束优化求解器
  • 批准号:
    23K11047
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Hierarchical Geometric Accelerated Optimization, Collision-based Constraint Satisfaction, and Sensitivity Analysis for VLSI Chip Design
VLSI 芯片设计的分层几何加速优化、基于碰撞的约束满足和灵敏度分析
  • 批准号:
    2307801
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
    Standard Grant
CAREER: NeuralSAT: A Constraint-Solving Framework for Verifying Deep Neural Networks
职业:NeuralSAT:用于验证深度神经网络的约束求解框架
  • 批准号:
    2238133
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
    Continuing Grant
CAREER: Toward Real-Time, Constraint-Aware Control of Complex Dynamical Systems: from Theory and Algorithms to Software Tools
职业:实现复杂动力系统的实时、约束感知控制:从理论和算法到软件工具
  • 批准号:
    2238424
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
    Standard Grant
Illuminating the distribution of extreme evolutionary constraint in the human genome from fetal demise to severe developmental disorders
阐明人类基因组中从胎儿死亡到严重发育障碍的极端进化限制的分布
  • 批准号:
    10601318
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
Evaluating the relative contribution of historical constraint in the evolution of migratory routes of Japanese birds
评估历史约束对日本鸟类迁徙路线演变的相对贡献
  • 批准号:
    23K14272
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
    Grant-in-Aid for Early-Career Scientists
Characterization and clinical trial of a Variable Friction Shoe, a new paradigm of reduced-constraint locomotor therapy for people exhibiting foot drop due to stroke
可变摩擦鞋的表征和临床试验,这是一种针对因中风而出现足下垂的患者的减少约束运动疗法的新范例
  • 批准号:
    10720578
  • 财政年份:
    2023
  • 资助金额:
    --
  • 项目类别:
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了