Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1985793.1985938acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Tracking data structures for postmortem analysis (NIER track)

Published: 21 May 2011 Publication History

Abstract

Analyzing the runtime behaviors of the data structures is important because they usually relate to the obscured program performance and understanding issues. The runtime evolution history of data structures creates the possibility of building a lightweight and non-checkpointing based solution for the backward analysis for validating and mining both the temporal and stationary properties of the data structure. We design and implement TAEDS, a framework that focuses on gathering the data evolution history of a program at the runtime and provides a virtual machine for programmers to examine the behavior of data structures back in time. We show that our approach facilitates many programming tasks such as diagnosing memory problems and improving the design of the data structures themselves.

References

[1]
S. Bhansali, W.-K. Chen, S. de Jong, A. Edwards, R. Murray, M. Drinić, D. Mihočka, and J. Chau. Framework for instruction-level tracing and analysis of program executions. In VEE '06.
[2]
M. Burtscher. Vpc3: a fast and effective trace-compression algorithm. In SIGMETRICS '04/Performance '04.
[3]
J. Clause and A. Orso. Leakpoint: pinpointing the causes of memory leaks. In ICSE '10.
[4]
M. Jump and K. S. McKinley. Cork: dynamic memory leak detection for garbage-collected languages. In POPL '07.
[5]
J. R. Larus. Whole program paths. In PLDI '99.
[6]
M. Martin, B. Livshits, and M. S. Lam. Finding application errors and security flaws using pql: a program query language. In OOPSLA '05.
[7]
E. K. Maxwell, G. Back, and N. Ramakrishnan. Diagnosing memory leaks using graph mining on heap dumps. In KDD '10.
[8]
N. Mitchell. The runtime structure of object ownership. In ECOOP '06.
[9]
N. Mitchell, E. Schonberg, and G. Sevitsky. Making sense of large heaps. In ECOOP '09.
[10]
N. Mitchell and G. Sevitsky. Leakbot: An automated and lightweight tool for diagnosing memory leaks in large java applications. In ECOOP '03.
[11]
G. Novark, E. D. Berger, and B. G. Zorn. Efficiently and precisely locating memory leaks and bloat. In PLDI '09.
[12]
A. Orso. Monitoring, analysis, and testing of deployed software. In FoSER '10.
[13]
G. Pothier, E. Tanter, and J. Piquer. Scalable omniscient debugging. In OOPSLA '07.
[14]
S. Tallam, R. Gupta, and X. Zhang. Extended whole program paths. In PACT '05.
[15]
G. Venkataramani, B. Roemer, Y. Solihin, and M. Prvulovic. Memtracker: Efficient and programmable support for memory access monitoring and debugging. In HPCA '07.
[16]
G. Xu, M. Arnold, N. Mitchell, A. Rountev, and G. Sevitsky. Go with the flow: profiling copies to find runtime bloat. In PLDI '09.
[17]
G. Xu and A. Rountev. Precise memory leak detection for java software using container profiling. In ICSE '08.
[18]
X. Zhang and R. Gupta. Whole execution traces. In MICRO '04.
[19]
T. Zimmermann and A. Zeller. Visualizing memory graphs. In SoftVis '01.

Cited By

View all
  • (2018)Pointer provenance in a capability architectureProceedings of the 10th USENIX Conference on Theory and Practice of Provenance10.5555/3319379.3319382(2-2)Online publication date: 11-Jul-2018
  • (2015)Profiling for detecting performance anomalies in concurrent softwareProceedings of the 2nd International Workshop on Software Engineering for Parallel Systems10.1145/2837476.2837478(11-20)Online publication date: 27-Oct-2015
  • (2015)JITProf: pinpointing JIT-unfriendly JavaScript codeProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2786831(357-368)Online publication date: 30-Aug-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '11: Proceedings of the 33rd International Conference on Software Engineering
May 2011
1258 pages
ISBN:9781450304450
DOI:10.1145/1985793
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data structure
  2. debugging
  3. program analysis
  4. tracing

Qualifiers

  • Research-article

Conference

ICSE11
Sponsor:
ICSE11: International Conference on Software Engineering
May 21 - 28, 2011
HI, Waikiki, Honolulu, USA

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Pointer provenance in a capability architectureProceedings of the 10th USENIX Conference on Theory and Practice of Provenance10.5555/3319379.3319382(2-2)Online publication date: 11-Jul-2018
  • (2015)Profiling for detecting performance anomalies in concurrent softwareProceedings of the 2nd International Workshop on Software Engineering for Parallel Systems10.1145/2837476.2837478(11-20)Online publication date: 27-Oct-2015
  • (2015)JITProf: pinpointing JIT-unfriendly JavaScript codeProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2786831(357-368)Online publication date: 30-Aug-2015
  • (2015)MG++: Memory graphs for analyzing dynamic data structures2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2015.7081839(291-300)Online publication date: Mar-2015
  • (2013)Precise memory leak detection for java software using container profilingACM Transactions on Software Engineering and Methodology10.1145/2491509.249151122:3(1-28)Online publication date: 30-Jul-2013
  • (2013)Improving Statistical Approach for Memory Leak Detection Using Machine LearningProceedings of the 2013 IEEE International Conference on Software Maintenance10.1109/ICSM.2013.92(544-547)Online publication date: 22-Sep-2013
  • (2012)Algorithmic profilingACM SIGPLAN Notices10.1145/2345156.225407447:6(67-76)Online publication date: 11-Jun-2012
  • (2012)Algorithmic profilingProceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/2254064.2254074(67-76)Online publication date: 11-Jun-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media