Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
brief-report
Open access

Slicing programs in the presence of errors

Published: 01 July 1996 Publication History

Abstract

Program slicing is a technique by which statements are deleted from a program in such a way as to preserve a projection of the original program's semantics. It is shown that slicing algorithms based upon traditional defined and referenced variable sets do not preserve a projection of strict semantics with respect to computations which cause errors. Rather, these approaches preserve a projection of the program's semantics which is lazy with respect to errors. A modified version of defined and referenced variable sets is introduced, which provides the freedom to choose the form of semantics to be preserved.

References

References

[1]
Aho, A. V., Sethi, R. and Ullman, J. D.:Compilers: Principles, techniques and tools. Addison Wesley, 1986.
[2]
Bieman J. M. and Ott L. M. Measuring functional cohesion IEEE Transactions on Software Engineering 1994 20 8 644-657
[3]
Cartwright, R. and Felleisen, M.: The semantics of program dependence. InACM SIGPLAN Conference on Programming Language Design and Implementation, pages 13–27, 1989.
[4]
Ferrante J., Ottenstein K. J., and Warren J. D. The program dependence graph and its uses in optimization ACM Transactions on Programming Languages and Systems 1987 9 319-349
[5]
Gallagher K. B. and Lyle J. R. Using program slicing in software maintenance IEEE Transactions on Software Engineering 1991 17 8 751-761
[6]
Harman, M. and Danicic, S.: Using program slicing to simplify testing.Journal of Software Testing, Verification and Reliability, 1995. To appear.
[7]
Harman, M., Danicic, S., Sivagurunathan, B., Jones, B. and Sivagurunathan, Y.: Cohesion metrics. In 8thInternational Quality Week, pages Paper 3-T-2, pp 1–14, San Francisco, May 29th – June 2nd. 1995.
[8]
Horwitz S., Prins J., and Reps T. Integrating non-interfering versions of programs ACM Transactions on Programming Languages and Systems 1989 11 3 345-387
[9]
Kamkar M. Interprocedural dynamic slicing with applications to debugging and testing PhD Thesis 1993 Sweden Department of Computer Science and Information Science, Linköping University
[10]
Korel B. and Laski J. Dynamic program slicing Information Processing Letters 1988 29 3 155-163
[11]
Lakhotia, A.: Rule-based approach to computing module cohesion. InProceedings of the 15thConference on Software Engineering (ICSE-15), pages 34–44, 1993.
[12]
Liu L. and Ellis R. An approach to eliminating COMMON blocks and deriving ADTs from Fortran programs Technical report 1993 UK University of Westminster
[13]
Lyle, J. R. and Weiser, M.: Automatic program bug location by program slicing. In 2ndInternational Conference on Computers and Applications, pages 877–882, Peking, 1987.
[14]
Simpson D., Valentine S. H., Mitchell R., Liu L., and Ellis R. Recoup — Maintaining Fortran ACM SIGPlan Fortran forum 1993 12 3 26-32
[15]
Tip F. Generation of Program Analysis Tools PhD thesis 1995 Amsterdam Centrum voor Wiskunde en Informatica
[16]
Tip F. and Venkatesh G. A. A survey of program slicing techniques Proceedings inSIGPLAN Notices 1995 26 6 26-28 [Ven91]
[17]
Weiser M. Program slices: Formal, psychological, and practical investigations of an automatic program abstraction method PhD thesis 1979 MI University of Michigan, Ann Arbor
[18]
Weiser M. Program slicing IEEE Transactions on Software Engineering 1984 10 4 352-357

Cited By

View all
  • (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
  • (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
  • (2006)Theoretical foundations of dynamic program slicingTheoretical Computer Science10.1016/j.tcs.2006.01.012360:1(23-41)Online publication date: 21-Aug-2006
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 8, Issue 4
Jul 1996
120 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 July 1996
Accepted: 15 November 1995
Received: 15 December 1994
Published in FAC Volume 8, Issue 4

Author Tags

  1. Program slicing
  2. Semantics
  3. Errors

Qualifiers

  • Brief-report

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)4
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (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
  • (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
  • (2006)Theoretical foundations of dynamic program slicingTheoretical Computer Science10.1016/j.tcs.2006.01.012360:1(23-41)Online publication date: 21-Aug-2006
  • (2006)A formalisation of the relationship between forms of program slicingScience of Computer Programming10.1016/j.scico.2006.04.00762:3(228-252)Online publication date: 15-Oct-2006
  • (2005)Minimal Slicing and the Relationships Between Forms of SlicingProceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation10.1109/SCAM.2005.18(45-56)Online publication date: 30-Sep-2005
  • (2005)Static Program Slicing Algorithms are Minimal for Free Liberal Program SchemasThe Computer Journal10.1093/comjnl/bxh12148:6(737-748)Online publication date: 1-Nov-2005
  • (2003)Equivalence of conservative, free, linear program schemas is decidableTheoretical Computer Science10.1016/S0304-3975(02)00374-2290:1(831-862)Online publication date: 1-Jan-2003
  • (2002)On the relationship between model-based debugging and program slicingArtificial Intelligence10.1016/S0004-3702(01)00161-8135:1-2(125-143)Online publication date: 1-Feb-2002
  • (2002)An overview of program slicingSoftware Focus10.1002/swf.412:3(85-92)Online publication date: 25-Jan-2002
  • (2001)Node coarsening calculi for program slicingProceedings Eighth Working Conference on Reverse Engineering10.1109/WCRE.2001.957807(25-34)Online publication date: 2001

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media