Conference Paper

Calculating Polynomial Runtime Properties.

DOI: 10.1007/11575467_16 Conference: Programming Languages and Systems, Third Asian Symposium, APLAS 2005, Tsukuba, Japan, November 2-5, 2005, Proceedings
Source: DBLP

ABSTRACT Ane size-change analysis has been used for termination analysis of eager functional programming languages. The same style of analysis is also capable of compactly recording and calculating other properties of programs, including their runtime, maximum stack depth, and (relative) path time costs. In this paper we show how precise poly- nomial bounds on such costs may be calculated on programs, by a char- acterization as a problem in quantifier elimination. The technique is de- cidable, and complete for a class of size-change terminating programs with limited-degree polynomial costs. An extension to the technique al- lows the calculation of some classes of exponential-cost programs. We demonstrate the new technique by recording the calculation in numbers- of-function (or procedure) calls for a simple definition language, but it can also be applied to functional and imperative languages. The tech- nique is automated within the reduce computer algebra system.

  • [Show abstract] [Hide abstract]
    ABSTRACT: Hard real-time systems are found in many critical embedded applications, for example aeroplane flight control, industrial production line control, and so on. The safe scheduling of tasks in these hard real-time systems is crucial to their correct operation, but the hard constraints of this type of scheduling reduce the responsiveness of the systems. In this paper we show the application of runtime analysis in informing the design of hard real-time embedded systems by allowing scheduled tasks to be dynamically re-ordered to improve the average responsiveness, while still meeting the hard constraints imposed by the system. The technique is semi-automated, and uses the reduce computer algebra system to precalculate a symbolic form of the runtime of scheduled tasks. The symbolic form is used to modify the source code of the scheduler.
    Theoretical Aspects of Software Engineering, 2009. TASE 2009. Third IEEE International Symposium on; 08/2009
  • [Show abstract] [Hide abstract]
    ABSTRACT: The classical approach to static cost analysis is based on transforming a given program into cost relations and solving them into closed-form upper-bounds. It is known that for some programs, this approach infers upper-bounds that are asymptotically less precise than the actual cost. As yet, it was assumed that this imprecision is due to the way cost relations are solved into upper-bounds. In this paper: (1) we show that this assumption is partially true, and identify the reason due to which cost relations cannot precisely model the cost of such programs; and (2) to overcome this imprecision, we develop a new approach to cost analysis, based on SMT and quantifier elimination. Interestingly, we find a strong relation between our approach and amortised cost analysis.
    Proceedings of the 19th international conference on Static Analysis; 09/2012
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The polynomial path order ( POP* for short) is a termination method that induces polynomial bounds on the innermost runtime complexity of term rewrite systems (TRSs for short). Semantic labeling is a transformation technique used for proving termination. In this paper, we propose an efficient implementation of POP* together with finite semantic labeling. This automation works by a reduction to the problem of boolean satisfiability. We have implemented the technique and experimental results confirm the feasibility of our approach. By semantic labeling the analytical power of POP* is significantly increased.
    Interfaces: Explorations in Logic, Language and Computation, ESSLLI 2008 and ESSLLI 2009 Student Sessions. Selected Papers; 01/2009

Full-text (2 Sources)

Available from
May 23, 2014