Results 1  10
of
14
TestBased Inference of Polynomial LoopBound Functions
, 2010
"... This paper presents an interpolationbased method of inferring arbitrary degree loopbound functions for Java programs. Given a loop, by its “loopbound function ” we mean a function with the numeric program variables as its parameters, that is used to bound the number of loopiterations. Using our ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
This paper presents an interpolationbased method of inferring arbitrary degree loopbound functions for Java programs. Given a loop, by its “loopbound function ” we mean a function with the numeric program variables as its parameters, that is used to bound the number of loopiterations. Using our analysis, loopbound functions that are polynomials with natural, rational or real coefficients can be found. Analysis of loop bounds is important in several different areas, including worstcase execution time (WCET) and heap consumption analysis, optimising compilers and terminationanalysis. While several other methods exist to infer numerical loop bounds, we know of no other research on the inference of nonlinear loopbound functions. Additionally, the inferred bounds are provable using external tools, e.g. KeY.
A space consumption analysis by abstract interpretation
 In Proceedings of the 1st International Workshop on Foundational and Practical Aspects of Resource Analysis, FOPARA’09
, 2010
"... Safe is a firstorder functional language with an implicit regionbased memory system and explicit destruction of heap cells. Its static analysis for inferring regions, and a type system guaranteeing the absence of dangling pointers have been presented elsewhere. In this paper we present a new analy ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
Safe is a firstorder functional language with an implicit regionbased memory system and explicit destruction of heap cells. Its static analysis for inferring regions, and a type system guaranteeing the absence of dangling pointers have been presented elsewhere. In this paper we present a new analysis aimed at inferring upper bounds for heap and stack consumption. It is based on abstract interpretation, being the abstract domain the set of all nary monotonic functions from real nonnegative numbers to a real nonnegative result. This domain turns out to be a complete lattice under the usual v relation on functions. Our interpretation is monotonic in this domain and the solution we seek is the least fixpoint of the interpretation. We first explain the abstract domain and some correctness properties of the interpretation rules with respect to the language semantics, then present the inference algorithms for recursive functions, and finally illustrate the approach with the upper bounds obtained by our implementation for some case studies. 1
Interpolationbased height analysis for improving a recurrence solver
 IN DRAFT PROCEEDINGS OF THE 2ND INTERNATIONAL WORKSHOP ON FOUNDATIONAL PRACTICAL ASPECTS OF RESOURCE ANALYSIS (FOPARA 2011). TECHNICAL REPORT SIC08/11. DPTO. DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN. UNIVERSIDAD COMPLUTENSE DE MADRID
, 2011
"... The COSTA system infers resource consumption bounds from Java bytecode using an internal recurrence solver PUBS. This paper suggests an improvement of the COSTA system, such that it can solve a larger number of recurrences. The idea is to replace one of its static analyses, the ranking function an ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
The COSTA system infers resource consumption bounds from Java bytecode using an internal recurrence solver PUBS. This paper suggests an improvement of the COSTA system, such that it can solve a larger number of recurrences. The idea is to replace one of its static analyses, the ranking function analysis, by another kind of analysis, height analysis, in such a way that polynomial bounds of any degree may be inferred instead of just linear expressions. The work can be seen as an application of some polynomial interpolation techniques used by some of the authors in prior analyses. Finding a way to choose proper test nodes is the key to the solution presented in this paper.
Making Resource Analysis Practical for RealTime Java
, 2012
"... For realtime and embedded systems limiting the consumption of time and memory resources is often an important part of the requirements. Being able to predict bounds on the consumption of these resources during the development process of the code can be of great value. Recent research results have a ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
For realtime and embedded systems limiting the consumption of time and memory resources is often an important part of the requirements. Being able to predict bounds on the consumption of these resources during the development process of the code can be of great value. Recent research results have advanced the state of the art of resource consumption analysis. In this paper we present a tool that makes it possible to apply these research results in practice for realtime systems enabling Java developers to analyse loop bounds, bounds on heap size and bounds on stack size. We describe which theoretical additions were needed in order to achieve this. We give an overview of the capabilities of the tool ResAna that is the result of this effort. The tool can not only perform generally applicable analyses, but it also contains a part of the analysis which is dedicated to the developers ’ (realtime) virtual machine, such that the results apply directly to the actual development environment that is used in practice.
Journal of Symbolic Computation 60 (2014) 15–28 Contents lists available at ScienceDirect
"... a M ..."
Soundness Proof for a Hoare Logic for Energy Consumption Analysis?
"... The following full text is a publisher's version. ..."
(Show Context)
Safety properties and memory bound analysis in a functional language without a garbage collector
, 2011
"... ..."
Safety properties and memory bound analysis in a functional language without a garbage collector
, 2011
"... ..."
Análisis de propiedades de seguridad y consumo acotado de memoria en un lenguaje funcional sin recolección de basura
, 2012
"... ..."
Ranking Functions for Loops with Disjunctive ExitConditions
"... Abstract. Finding ranking functions for the loops in a program is a prerequisite for proving its termination and analysing its resource usage. From its ranking function one easily derives a symbolic upper bound on the number of iterations of a loop. Such symbolic loop bounds can be used to derive co ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Finding ranking functions for the loops in a program is a prerequisite for proving its termination and analysing its resource usage. From its ranking function one easily derives a symbolic upper bound on the number of iterations of a loop. Such symbolic loop bounds can be used to derive concrete time and memoryusage bounds for complete programs. This paper builds upon an earlier paper in which a polynomial interpolation based ranking function inference method is introduced for loops with exit conditions that are expressions in propositional logic over arithmetical (in)equalities. We show that this earlier method is not applicable for certain loops: loops in which socalled condition jumping can occur. We define condition jumping and give an algorithm to detect it using symbolic execution and an SMT solver. We show how the earlier method can be adapted to be applicable also in the presence of condition jumping. As a result polynomial interpolation can be applied on a larger class of programs to infer polynomial ranking functions.