Identifying dynamic data structures by learning evolving patterns in memory

  • Authors:
  • David H. White;Gerald Lüttgen

  • Affiliations:
  • Software Technologies Group, University of Bamberg, Germany;Software Technologies Group, University of Bamberg, Germany

  • Venue:
  • TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We investigate whether dynamic data structures in pointer programs can be identified by analysing program executions only. This paper describes a first step towards solving this problem by applying machine learning and pattern recognition techniques to analyse executions of C programs. By searching for repeating temporal patterns in memory caused by multiple invocations of data-structure operations, we are able to first locate and then identify these operations. Applying a prototypic tool implementing our approach to pointer programs that employ, e.g., lists, queues and stacks, we show that the identified operations can accurately determine the data structures used.