TUM Logo

Autocorrelation-Based Detection of Infinite Loops at Runtime

We present a new algorithm for the detection ofinfinite loop bugs in software. Source code is not needed. Thealgorithm is based on autocorrelation of a program execution’sbranch target address sequence. We describe the implementa-tion of the algorithm in a dynamic binary instrumentation tool;the result is lightweight enough to be applied continuously atruntime. Functionality of the tool is evaluated with infiniteloop bug test cases from the Juliet test suite for programanalyzers. Applicability of the algorithm to production softwareis demonstrated by using the tool to detect previously knowninfinite loop bugs incgit,AvahiandPHP.

Autocorrelation-Based Detection of Infinite Loops at Runtime

IEEE Int. Conf. Dependable, Autonomic and Secure Computing

Authors: Andreas Ibing, Julian Kirsch, and Lorenz Panny
Year/month: 2016/8
Booktitle: IEEE Int. Conf. Dependable, Autonomic and Secure Computing
Fulltext: dynloops.pdf

Abstract

We present a new algorithm for the detection ofinfinite loop bugs in software. Source code is not needed. Thealgorithm is based on autocorrelation of a program execution’sbranch target address sequence. We describe the implementa-tion of the algorithm in a dynamic binary instrumentation tool;the result is lightweight enough to be applied continuously atruntime. Functionality of the tool is evaluated with infiniteloop bug test cases from the Juliet test suite for programanalyzers. Applicability of the algorithm to production softwareis demonstrated by using the tool to detect previously knowninfinite loop bugs incgit,AvahiandPHP.

Bibtex:

@inproceedings { 433,
author = { Andreas Ibing and Julian Kirsch and Lorenz Panny},
title = { Autocorrelation-Based Detection of Infinite Loops at Runtime },
year = { 2016 },
month = { August },
booktitle = { IEEE Int. Conf. Dependable, Autonomic and Secure Computing },
url = {https://www.sec.in.tum.de/i20/publications/autocorrelation-based-detection-of-infinite-loops-at-runtime/@@download/file/dynloops.pdf}
}