skip to main content
10.1145/1572272.1572292acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Memory slicing

Published: 19 July 2009 Publication History

Abstract

Traditional dynamic program slicing techniques are code-centric, meaning dependences are introduced between executed statement instances, which gives rise to various problems such as space requirement is decided by execution length; dependence graphs are highly redundant so that inspecting them is labor intensive. In this paper, we propose a data-centric dynamic slicing technique, in which dependences are introduced between memory locations. Doing so, the space complexity is bounded by memory footprint instead of execution length. Moreover, presenting dependences between memory locations is often more desirable for human inspection during debugging as redundant dependences are suppressed. Our evaluation shows that the proposed technique supersedes traditional dynamic slicing techniques in terms of effectiveness and efficiency.

References

[1]
H. Agrawal and J. R. Horgan. Dynamic Program Slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI),246--256, 1990.
[2]
M. Berndl and O. Lhotak and F. Qian and L. Hendren and N. Umanee. Points-to Analysis using BDDs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 103--114, 2003.
[3]
A. Beszedes, T. Gergely, Z. M. Szabo, J. C., and T. Gyimothy. Dynamic slicing method for maintenance of large c programs. In CSMR '01: Proceedings of the 5th European Conference on Software Maintenance and Reengineering, pages 105--113, Lisbon, Portugal, March 2001.
[4]
R. E. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 35(8), 677--691, 1986.
[5]
G. Z. Chrysos and J. S. Emer. Memory Dependence Prediction using Store Sets. In ISCA: Proceedings of the 25th Annual International Symposium on Computer Architecture, 142--153, 1998.
[6]
Diablo binary rewriting framework. http://www.elis.ugent.be/diablo/.
[7]
J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependence graph and its use in optimization. In ACM Transactions on Programmming Languages and System (TOPLAS), 9(3):319--349, July 1987.
[8]
M. Gabel and Z. Su. Symbolic Mining of Temporal Specifications. In Proceeding of the International Conference on Software Engineering (ICSE), 51-60, 2008.
[9]
B. Korel and J. Laski. Dynamic program slicing, In Information Processing Letters, 29(3), 1988.
[10]
J. Lind-Nielsen. BuDDy, a binary decision diagram package. http://buddy.sourceforge.net.
[11]
S. Lu, Z. Li, F. Qin, L. Tan, P. Zhou, and Y. Zhou. Bugbench: a benchmark for evaluating bug detection tools. In Workshop on the Evaluation of Software Defect Detection Tools, Chicago, Illinois, 2005.
[12]
N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 89--100, 2007.
[13]
F. Qin and C. Wang and Z. Li and H. Kim and Y. Zhou and Y. Wu. LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In MICRO: Proceedings of the 38th International Symposium on Microarchitecture, 135--148, 2006.
[14]
F. Tip. A Survey of Program Slicing Techniques. In Journal of Program Languages, 121--189, 1995.
[15]
M. Vaziri and F. Tip and J. Dolby. Associating Synchronization Constraints with Data in An Object-Oriented Language. In Proceedings of the Symposium on Principles of Programming Languages ( POPL), 334--345, 2006.
[16]
T. Wang and A. Roychoudhury. Hierarchical Dynamic Slicing. In ISSTA: International Symposium on Software Testing and Analysis, 228--238, 2007.
[17]
T. Wang and A. Roychoudhury. Using Compressed Bytecode Traces for Slicing Java Programs. In Proceeding of the International Conference on Software Engineering (ICSE), 512--521, 2004.
[18]
M. Weiser. Program Slicing. In Proceeding of the International Conference on Software Engineering (ICSE), 439--449, San Diego, CA, 1981.
[19]
J. Whaley and D. Avots and M. Carbin and M. S. Lam. Using Datalog with Binary Decision Diagrams for Program Analysis. In Proceedings of Programming Languages and Systems: Third Asian Symposium, 2005.
[20]
B. Xin and X. Zhang. Efficient online detection of dynamic control dependence. In Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, pages 185--195. ACM, July 2007.
[21]
L. Yuan and J. Mai and Z. Su and H. Chen and C.-N. Chuah and P. Mohapatra. FIREMAN: A Toolkit for FIREwall Modeling and ANalysis. In IEEE Symposium on Security and Privacy, 199--213, 2006.
[22]
X. Zhang. Fault Localization via Precise Dynamic Slicing. Ph.D Dissertation, University of Arizona, 2006.
[23]
X. Zhang and R. Gupta and Y. Zhang. Efficient Forward Computation of Dynamic Slices Using Reduced Ordered Binary Decision Diagrams. In Proceeding of the International Conference on Software Engineering (ICSE), 502--511, 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '09: Proceedings of the eighteenth international symposium on Software testing and analysis
July 2009
306 pages
ISBN:9781605583389
DOI:10.1145/1572272
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: 19 July 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data-centric slicing
  2. dynamic program slicing
  3. fault localization
  4. memory dependence graph

Qualifiers

  • Research-article

Conference

ISSTA '09

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Slice-based statistical fault localizationJournal of Systems and Software10.5555/2747476.274752689:C(51-62)Online publication date: 1-Mar-2014
  • (2014)DrDebugProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2581122.2544152(98-108)Online publication date: 15-Feb-2014
  • (2014)DrDebugProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2544137.2544152(98-108)Online publication date: 15-Feb-2014
  • (2014)Fault localization based on dynamic slicing via JSlice for Java programs2014 IEEE 5th International Conference on Software Engineering and Service Science10.1109/ICSESS.2014.6933631(565-568)Online publication date: Jun-2014
  • (2012)Effective Statistical Fault Localization Using Program SlicesProceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference10.1109/COMPSAC.2012.9(1-10)Online publication date: 16-Jul-2012
  • (2012)Heap slicing using type systemsProceedings of the 12th international conference on Computational Science and Its Applications - Volume Part III10.1007/978-3-642-31137-6_45(592-606)Online publication date: 18-Jun-2012
  • (2011)Deriving common malware behavior through graph clusteringProceedings of the 6th ACM Symposium on Information, Computer and Communications Security10.1145/1966913.1966986(497-502)Online publication date: 22-Mar-2011
  • (2010)SUDSAutomated Software Engineering10.1007/s10515-010-0067-717:3(301-346)Online publication date: 1-Sep-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media