Effective techniques for understanding and improving data structure usage

Turing Award winner Niklaus Wirth famously noted, `Algorithms + Data Structures = Programs', and it follows that data structures should be carefully considered for effective applicat...

Full description

Bibliographic Details
Main Author: Jung, Changhee
Other Authors: Pande, Santosh
Format: Others
Language:en_US
Published: Georgia Institute of Technology 2013
Subjects:
Online Access:http://hdl.handle.net/1853/49101
id ndltd-GATECH-oai-smartech.gatech.edu-1853-49101
record_format oai_dc
spelling ndltd-GATECH-oai-smartech.gatech.edu-1853-491012013-11-29T03:30:40ZEffective techniques for understanding and improving data structure usageJung, ChangheeData structure identificationMemory graphsInterface functionsData structure selectionApplication generatorTraining frameworkPerformance countersData structures (Computer science)Turing Award winner Niklaus Wirth famously noted, `Algorithms + Data Structures = Programs', and it follows that data structures should be carefully considered for effective application development. In fact, data structures are the main focus of program understanding, performance engineering, bug detection, and security enhancement, etc. Our research is aimed at providing effective techniques for analyzing and improving data structure usage in fundamentally new approaches: First, detecting data structures; identifying what data structures are used within an application is a critical step toward application understanding and performance engineering. Second, selecting efficient data structures; analyzing data structures' behavior can recognize improper use of data structures and suggest alternative data structures better suited for the current situation where the application runs. Third, detecting memory leaks for data structures; tracking data accesses with little overhead and their careful analysis can enable practical and accurate memory leak detection. Finally, offloading time-consuming data structure operations; By leveraging a dedicated helper thread that executes the operations on the behalf of the application thread, we can improve the overall performance of the application.Georgia Institute of TechnologyPande, Santosh2013-09-20T13:27:10Z2013-09-20T13:27:10Z2013-082013-07-08August 20132013-09-20T13:27:10ZDissertationapplication/pdfhttp://hdl.handle.net/1853/49101en_US
collection NDLTD
language en_US
format Others
sources NDLTD
topic Data structure identification
Memory graphs
Interface functions
Data structure selection
Application generator
Training framework
Performance counters
Data structures (Computer science)
spellingShingle Data structure identification
Memory graphs
Interface functions
Data structure selection
Application generator
Training framework
Performance counters
Data structures (Computer science)
Jung, Changhee
Effective techniques for understanding and improving data structure usage
description Turing Award winner Niklaus Wirth famously noted, `Algorithms + Data Structures = Programs', and it follows that data structures should be carefully considered for effective application development. In fact, data structures are the main focus of program understanding, performance engineering, bug detection, and security enhancement, etc. Our research is aimed at providing effective techniques for analyzing and improving data structure usage in fundamentally new approaches: First, detecting data structures; identifying what data structures are used within an application is a critical step toward application understanding and performance engineering. Second, selecting efficient data structures; analyzing data structures' behavior can recognize improper use of data structures and suggest alternative data structures better suited for the current situation where the application runs. Third, detecting memory leaks for data structures; tracking data accesses with little overhead and their careful analysis can enable practical and accurate memory leak detection. Finally, offloading time-consuming data structure operations; By leveraging a dedicated helper thread that executes the operations on the behalf of the application thread, we can improve the overall performance of the application.
author2 Pande, Santosh
author_facet Pande, Santosh
Jung, Changhee
author Jung, Changhee
author_sort Jung, Changhee
title Effective techniques for understanding and improving data structure usage
title_short Effective techniques for understanding and improving data structure usage
title_full Effective techniques for understanding and improving data structure usage
title_fullStr Effective techniques for understanding and improving data structure usage
title_full_unstemmed Effective techniques for understanding and improving data structure usage
title_sort effective techniques for understanding and improving data structure usage
publisher Georgia Institute of Technology
publishDate 2013
url http://hdl.handle.net/1853/49101
work_keys_str_mv AT jungchanghee effectivetechniquesforunderstandingandimprovingdatastructureusage
_version_ 1716615969549320192