Gerald Lüttgen, University of Bamberg, Germany
Title: Automated Detection of Dynamic Data Structures in Pointer Programs
Abstract: Comprehending programs containing pointer-based dynamic data structures is an important but challenging task when aiming to increase the reliability of today’s complex system software and application software. This lecture overviews modern dynamic analyses for automated data structure identification that target C source code, and presents in more detail our own approach and implementation, the Data Structure Investigator (DSI) tool. DSI employs a novel memory abstraction that allows for a compact description of pointer-based data structures such as linked lists and binary trees, and their interconnections such as parent-child nesting. Because the true shape of a data structure may temporarily be obscured by manipulation operations, DSI’s analysis is made robust by collecting and reinforcing evidence for data structure observations and by utilizing a systematic data structure taxonomy. The inferred data structure information is particularly helpful for program comprehension and heap visualization, and can also be utilized for aiding formal software verification.
Short Bio: Gerald Lüttgen is full professor of software engineering and programming languages at the University of Bamberg, Germany, since 2009 and held prior appointments at the Universities of York and Sheffield, UK, and at NASA Langley Research Center, USA. His main research interests are in concurrency theory, automated verification and software analysis. He is a member of the editorial board of Information and Computation and the executive board of the European Joint Conferences on Theory and Practice of Software (ETAPS).