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)
In recent work [De15, PVZ15, DVZ13], we study empirical metrics for software (SW) source code, which can predict the performance of verification tools on specific types of SW.O ur metrics comprise variable usage patterns, loop patterns, as well as indicators of control-flowc om-plexity and are extracted by simple data-flowanalyses. We demonstrate that our(More)
Difference constraints have been used for termination analysis in the literature, where they denote relational inequalities of the form $$x' \le y + c$$ x ′ ≤ y + c , and describe that the value of x in the current state is at most the value of y in the previous state plus some constant $$c \in \mathbb {Z}$$ c ∈ Z . We believe that difference constraints(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)
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)
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)