Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/777388.777394acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

Slicing java programs that throw and catch exceptions

Published: 07 June 2003 Publication History

Abstract

Exceptions are the preferred method for error handling in object-oriented languages like Java. Current program-slicing algorithms do not correctly deal with exception-handling constructs, because they do not account for the additional control and data dependences introduced by exceptions. This paper extends previous work on program slicing using the system dependence graph (SDG) to support slicing programs with exceptions.

References

[1]
T. Ball and S. Horwitz. Slicing programs with arbitrary control flow. In Lecture Notes in Computer Science, volume 749, New York, NY, November 1993. Springer-Verlag.]]
[2]
G. Bilardi and K. Pingali. A framework for generalized control dependence. In Proc. of the ACM SIGPLAN '96 conference on Programming language design and implementation, pages 291--300. ACM Press, 1996.]]
[3]
J. Choi and J. Ferrante. Static slicing in the presence of goto statements. ACM Trans. on Programming Languages and Systems, 16(4):1097--1113, July 1994.]]
[4]
J. Hatcliff et~al. A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In Static Analysis Symp., 1999.]]
[5]
M. Dwyer et~al. Slicing multi-threaded Java programs: A case study. Technical Report 99-7, Kansas State University Computing and Information Sciences, 1999.]]
[6]
J. Ferrante, K. Ottenstein, and J. Warren. The program dependence graph and its use in optimization. ACM Trans. on Programming Languages and Systems, 9(3):319--349, July 1987.]]
[7]
S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM Trans. on Programming Languages and Systems, 12(1):26--60, January 1990.]]
[8]
J. Krinke. Static slicing of threaded programs. In Proc. ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Tools and Software Eng., June 1998.]]
[9]
D. Liang and M. Harrold. Slicing objects using system dependence graphs. In Proc. of the IEEE Int. Conf. on Software Maintenance, pages 348--357, November 1998.]]
[10]
E. Myers. A precise interprocedural data flow algorithm. In Proc. ACM Symp. on Principles of Programming Languages (POPL), pages 219--230, 1981.]]
[11]
M. Nanda and S. Ramesh. Slicing concurrent programs. In Proc. Int. Symp. on Software Testing and Analysis, August 2000.]]
[12]
K. Ottenstein and L. Ottenstein. The program dependence graph in a software development environment. In Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. on Practical Software Development Environments, pages 177--184, 1984.]]
[13]
A. Podgurski and L. Clarke. A formal model of program dependences and its implications for software testing, debugging, and maintenance. IEEE Trans. on Software Engineering, 16(9):965--979, September 1990.]]
[14]
T. Reps, S. Horwitz, and G. Rosay. Speeding up slicing. In Proc. ACM SIGSOFT Symp. on the Foundations of Software Eng., pages 11--20, December 1994.]]
[15]
S. Sinha and M. Harrold. Analysis of programs with exception-handling constructs. In ICSM, pages 348--357, 1998.]]
[16]
S. Sinha and M. Harrold. Analysis and testing of programs with exception-handling constructs. IEEE Trans. on Software Engineering, 26(9):849--871, 2000.]]
[17]
S. Sinha, M. Harrold, and G. Rothermel. System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow. In Int. Conf. on Software Eng., pages 432--441, May 1999.]]
[18]
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352--357, July 1984.]]

Cited By

View all
  • (2023)DeepVD: Toward Class-Separation Features for Neural Network Vulnerability DetectionProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00189(2249-2261)Online publication date: 14-May-2023
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • (2019)Modeling and Coverage Analysis of Programs with Exception HandlingProceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3299771.3299785(1-11)Online publication date: 14-Feb-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '03: Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
June 2003
100 pages
ISBN:1581136676
DOI:10.1145/777388
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 10
    Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003) and workshop on partial evaluation and semantics-based program manipulation (PEPM 2003)
    October 2003
    331 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/966049
    Issue’s Table of Contents
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: 07 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. java exceptions
  2. program dependence graph
  3. program slicing

Qualifiers

  • Article

Conference

PEPM03
Sponsor:

Acceptance Rates

Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)DeepVD: Toward Class-Separation Features for Neural Network Vulnerability DetectionProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00189(2249-2261)Online publication date: 14-May-2023
  • (2022)A Hybrid Approach for Inference between Behavioral Exception API Documentation and Implementations, and Its ApplicationsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560434(1-13)Online publication date: 10-Oct-2022
  • (2019)Modeling and Coverage Analysis of Programs with Exception HandlingProceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3299771.3299785(1-11)Online publication date: 14-Feb-2019
  • (2018)TDroid: exposing app switching attacks in Android with control flow specializationProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3238188(236-247)Online publication date: 3-Sep-2018
  • (2018)Cut branches before looking for bugs: certifiably sound verification on relaxed slicesFormal Aspects of Computing10.1007/s00165-017-0439-x30:1(107-131)Online publication date: 1-Jan-2018
  • (2017)Hierarchical regression test case selection using slicingInternational Journal of Computational Science and Engineering10.1504/IJCSE.2017.08288214:2(179-197)Online publication date: 1-Jan-2017
  • (2016)Cut Branches Before Looking for BugsProceedings of the 19th International Conference on Fundamental Approaches to Software Engineering - Volume 963310.1007/978-3-662-49665-7_11(179-196)Online publication date: 2-Apr-2016
  • (2014)Personalized procedural map generation in games via evolutionary algorithmsACM SIGEVOlution10.1145/2661735.26617397:1(27-28)Online publication date: 1-Aug-2014
  • (2014)Unshackling evolutionACM SIGEVOlution10.1145/2661735.26617377:1(11-23)Online publication date: 1-Aug-2014
  • (2014)Visualising evolutionary search spacesACM SIGEVOlution10.1145/2661735.26617367:1(2-10)Online publication date: 1-Aug-2014
  • Show More Cited By

View Options

Get Access

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