skip to main content
10.1145/1595696.1595729acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Improving slice accuracy by compression of data and control flow paths

Published: 24 August 2009 Publication History

Abstract

Program slicing is a useful technique in tools for program understanding and transformation. Computing correct and accurate slices for unstructured programs is particularly difficult. We present a new family of slicing algorithms that are proved correct and are more accurate than the best previous algorithms. An empirical study shows significant improvements of our algorithms on real code.

References

[1]
H. Agrawal. On slicing programs with jump statements. In Proc. ACM Conf. Programming Lang. Design and Implementation (PLDI), 1994.
[2]
T. Ball and S. Horwitz. Slicing programs with arbitrary control-flow. In Automated and Algorithmic Debugging, pages 206--222, 1993.
[3]
J.-D. Choi and J. Ferrante. Static slicing in the presence of goto statements. ACM Trans. Programming Languages and Systems, 16(4):1097--1113, July 1994.
[4]
Y. Cohen and Y. A. Feldman. Automatic high-quality reengineering of database programs by abstraction, transformation, and reimplementation. ACM Trans. Software Engineering and Methodology, 12(3):285--316, July 2003.
[5]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Programming Languages and Systems, 13(4):451--490, Oct 1991.
[6]
M. D. Ernst. Practical fine-grained static slicing of optimized code. Technical Report MSR-TR-94-14, Microsoft Research, Redmond, WA, July 1994.
[7]
Y. A. Feldman and D. A. Friedman. Portability by automatic translation: A large-scale case study. Artificial Intelligence, 107(1):1--28, 1999.
[8]
Y. A. Feldman and L. Gendler. DISCERN: Towards the automatic discovery of software contracts. In Proc. Fourth IEEE Int'l Conf. Software Engineering and Formal Methods, pages 90--99, Sept. 2006.
[9]
M. Harman and S. Danicic. A new algorithm for slicing unstructured programs. J. Software Maintenance, 10(6), 1998.
[10]
M. Harman, A. Lakhotia, and D. Binkley. Theory and algorithms for slicing unstructured programs. Information and Software Technology, 48(7):549--565, 2006.
[11]
S. Kumar and S. Horwitz. Better slicing of programs with jumps and switches. In Fundamental Approaches to Software Engineering, pages 96--112, 2002.
[12]
K. J. Ottenstein and L. M. Ottenstein. The program dependence graph in a software development environment. SIGPLAN Not., 19(5):177--184, 1984.
[13]
C. Rich. A formal representation for plans in the Programmer's Apprentice. In Proc. 7th Int. Joint Conf. Artificial Intelligence, pages 1044--1052, Vancouver, British Columbia, Canada, Aug. 1981.
[14]
C. Rich and R. C. Waters. The Programmer's Apprentice. ACM Press and Addison Wesley, 1990.
[15]
M. Weiser. Program slicing. IEEE Trans. Software Engineering, SE-10(4), 1984.

Cited By

View all
  • (2011)A unifying theory of control dependence and its application to arbitrary program structuresTheoretical Computer Science10.1016/j.tcs.2011.08.033412:49(6809-6842)Online publication date: 1-Nov-2011

Index Terms

  1. Improving slice accuracy by compression of data and control flow paths

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE '09: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
    August 2009
    408 pages
    ISBN:9781605580012
    DOI:10.1145/1595696
    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: 24 August 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tag

    1. program slicing

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE09
    Sponsor:
    ESEC/FSE09: Joint 12th European Software Engineering Conference
    August 24 - 28, 2009
    Amsterdam, The Netherlands

    Acceptance Rates

    ESEC/FSE '09 Paper Acceptance Rate 32 of 217 submissions, 15%;
    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2011)A unifying theory of control dependence and its application to arbitrary program structuresTheoretical Computer Science10.1016/j.tcs.2011.08.033412:49(6809-6842)Online publication date: 1-Nov-2011

    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