Automatic Bound Computation

The undecidability of the Halting problem is a famous result that goes back to the beginnings of computer science. The result says that there is no general method for automatically proving the termination of programs. Note, that this statement does not contradict the fact that in practice it is very well possible to prove termination for important program classes automatically. For example, it was a huge success when the first automatic tool chain was able to automatically prove the termination of Windows Device Drivers. Because drivers run in kernel mode, non-terminating drivers could cause the whole system to hang. Despite this success, termination is not a satisfying answer to most programmers who not only want to know that their programs terminate but also when! In ongoing research we are developing tools and algorithms for automatically deriving complexity bounds. Consider the following programs:

x = y = n;
while (x > 0 && y > 0)
    if(random())
        x--;
    else
        y--;
x = y = n;
while (x > 0 && y > 0)
    if(random())
        x--;
    else {
        y--;
        x = n; }
while (n > 0)
    t := A[n];
    while (n > 0 && t = A[n])
        n--;
i := 0;
while (i < n) {
    j := i + 1;
    while (j < n) {
        if (random()) {
            ConsumeResource();
            j--;
            n--; }
        j++; }
    i++; }

Our tool Loopus automatically establishes that in the first and third program the complexity of the loop is O(n) and O(n2) in the second program. Moreover our tool establishes that ConsumeResource() is only called O(n) times. If you find the above described research exciting, we can offer you a variety of topics for bachelor / master theses and projects for practical course work and student jobs.

It is beneficial, if you bring the following qualities:

  • programming skills
  • interest in scientific work
  • basic knowledge in logic and set-theory
  • willingness to study state-of-the-art publications

[Contact Florian Zuleger]

Latest News

Austrian Computer Science Day 2015

The Austrian Computer Science Day 2015, which takes place on October 15, features a range of talks by leading Austrian computer scientists, including topics such as computer games, augmented reality, aware systems, semantic web, business processes, and reliable systems. Register for free by October 7, 2015! This year’s speakers are: Alois Ferscha (JKU Linz) Tom […]

Continue reading

Helmut Veith receives CAV Award

The 2015 CAV Award is given to Edmund Clarke, Orna Grumberg, Ron Hardin, Zvi Harel, Somesh Jha, Robert Kurshan, Yuan Lu, and Helmut Veith for the development and implementation of the localization-reduction technique and the formulation of counterexample-guided abstraction refinement (CEGAR).

Continue reading

FRIDA’15

We had great talks at FRIDA’15 workshop in Grenoble. The slides of some of the talks are available online.

Continue reading

FRIDA’15 Program

Check the program of the 2nd workshop on Formal Reasoning in Distributed Algorithms at FORTE. We have a nice program this year.

Continue reading

Full news archive