Toward Automatic Data Structure Replacement for Effective Parallelization
Changhee Jung and Nathan Clark

Abstract:

Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application.

This paper presents the design and application of DDT, a new program analysis tool that automatically identifies data structures within an application. A binary application is instrumented to dynamically monitor how the data is stored and organized for a set of sample inputs. The instrumentation detects which functions interact with the stored data, and creates a signature for these functions using dynamic invariant detection. The invariants of these functions are then matched against a library of known data structures, providing a probable identification. That is, DDT uses program consistency properties to identify what data structures an application employs. The empirical evaluation shows that this technique is highly accurate across several different implementations of standard data structures.

Published:

"Toward Automatic Data Structure Replacement for Effective Parallelization"
Changhee Jung and Nathan Clark.
Workshop on Parallel Execution of Sequential Programs on Multicore Architectures (PESPMA'09) , June 2009.

Download:

Paper:

BibTeX Entry:

BIBTEX

Valid CSS! Valid HTML 4.01!