Many programs have important functional-correctness properties that involve sophisticated mathematical relationships between numerical variables. Additionally, many programs have important numerical properties that characterize their worst-case usage of resources, such as time or memory. This dissertation applies a framework called algebraic program analysis to the problem of proving numerical properties of programs. In this framework, the main steps of the analysis of a program are encapsulated by an algebraic structure (i.e., a carrier set and a collection of operations), and results are obtained by evaluating expressions that are constructed from the operations of that structure. More specifically, this dissertation explores three en...
AbstractInferring precise relations between (the values of) program variables at different program p...
Chains of Recurrences (CR's) are introduced as an effective method to evaluate functions at reg...
Abstract. Most of the properties established during program verification are either invariants or de...
Compositional recurrence analysis (CRA) is a static-analysis method based on a combination of symbo...
Abstract. Relations among program variables like 1 + 3 · x1 + 5 · x2 ≡ 0 [224] have been called line...
Algorithms which are recursive have running times which can be described by recurrence equations or ...
This monograph, derived from an advanced computer science course at Stanford University, builds on t...
Recurrence relations in mathematics form a very powerful and compact way of looking at a wide range ...
This talk describes how a combination of symbolic computation techniques with first-order theorem pr...
This paper considers generic recursion schemes for programs which recurse over multiple inductive st...
We present ABC, a software tool for automatically computing symbolic upper bounds on the number of i...
Abs t r ac t. The classical approach to automatic cost analysis consists of two phases. Given a prog...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
In the discrete mathematics courses, topics, such as the calculation of the element in any position ...
AbstractInferring precise relations between (the values of) program variables at different program p...
Chains of Recurrences (CR's) are introduced as an effective method to evaluate functions at reg...
Abstract. Most of the properties established during program verification are either invariants or de...
Compositional recurrence analysis (CRA) is a static-analysis method based on a combination of symbo...
Abstract. Relations among program variables like 1 + 3 · x1 + 5 · x2 ≡ 0 [224] have been called line...
Algorithms which are recursive have running times which can be described by recurrence equations or ...
This monograph, derived from an advanced computer science course at Stanford University, builds on t...
Recurrence relations in mathematics form a very powerful and compact way of looking at a wide range ...
This talk describes how a combination of symbolic computation techniques with first-order theorem pr...
This paper considers generic recursion schemes for programs which recurse over multiple inductive st...
We present ABC, a software tool for automatically computing symbolic upper bounds on the number of i...
Abs t r ac t. The classical approach to automatic cost analysis consists of two phases. Given a prog...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
In the discrete mathematics courses, topics, such as the calculation of the element in any position ...
AbstractInferring precise relations between (the values of) program variables at different program p...
Chains of Recurrences (CR's) are introduced as an effective method to evaluate functions at reg...
Abstract. Most of the properties established during program verification are either invariants or de...