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...
Main Author: | |
---|---|
Other Authors: | |
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 |