Learn More
We define the <i>reachability-bound problem</i> to be the problem of finding a symbolic worst-case bound on the number of times a given control location inside a procedure is visited in terms of the inputs to that procedure. This has applications in bounding resources consumed by a program such as time, memory, network-traffic, power, as well as estimating(More)
Due to indirect branch instructions, analyses on executables commonly suffer from the problem that a complete control flow graph of the program is not available. Data flow analysis has been proposed before to statically determine branch targets in many cases, yet a generic strategy without assumptions on compiler idioms or debug information is lacking. We(More)
Automatic methods for computing bounds on the resource consumption of programs are an active area of research. In [SZV14] we present the first scalable bound analysis for imperative programs that achieves amortized complexity analysis.Our techniques can be applied for deriving upper bounds on howo ften loops can be iterated as well as on how often asingle(More)
We describe the current state of our tool Loopus which computes loop bounds for C programs. In this one-page abstract we describe the current state of our tool Loopus which automatically computes loop bounds for C programs. Loopus can also be seen as contribution towards solving the termination problem for C programs as it provides a conceptually simpler(More)
Providing feedback on programming assignments manually is a tedious, error prone, and time-consuming task. In this paper, we motivate and address the problem of generating feedback on performance aspects in introductory programming assignments. We studied a large number of functionally correct student solutions to introductory programming assignments and(More)
Shape analysis attempts to analyze and verify correctness of programs with dynamic data structures. This is a notoriously difficult task, because it necessitates efficient decision procedures for expressive logics on graphs and graph-like structures. In the last decade, model-theoretic approaches have been less prominent , and the leading approach is(More)
The size-change abstraction (SCA) is an important program abstraction for termination analysis, which has been successfully implemented in many tools for functional and logic programs. In this paper, we demonstrate that SCA is also a highly effective abstract domain for the bound analysis of imperative programs. We have implemented a bound analysis tool(More)
Max-plus automata (over N ∪ {−∞}) are nite devices that map input words to non-negative integers or −∞. In this paper we present (a) an algorithm allowing to compute the asymptotic behaviour of max-plus automata, and (b) an application of this technique to the evaluation of the computational time complexity of programs. 1 Introduction The contributions of(More)