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

Combining algorithmic debugging and program slicing

Published: 10 July 2006 Publication History

Abstract

Currently, program slicing and algorithmic debugging are two of the most relevant debugging techniques for declarative languages. They help programmers to find bugs in a semiautomatic manner. On the one hand, program slicing is a technique to extract those program fragments that (potentially) affect the values computed at some point of interest. On the other hand, algorithmic debugging is able to locate a bug by automatically generating a series of questions and processing the programmer's answers. In this work, we show for functional languages how the combination of both techniques produces a more powerful debugging schema that reduces the number of questions that programmers must answer to locate a bug

References

[1]
Citeseer: The NECI Scientific Literature Digital Library. Accessed on March 27th 2006. URL: http://citeseer.ist.psu.edu.
[2]
O. Chitil. Source-Based Trace Exploration. In 16th Int'l Workshop on Implementation of Functional Languages (IFL 2004). Springer LNCS, 2005.
[3]
O. Chitil and Y. Luo. Proving the Correctness of Declarative Debugging for Functional Programs. In Trends in Functional Programming (TFP 2006), 2006.
[4]
O. Chitil and Y. Luo. Towards a Theory of Tracing for Functional Programs Based on Graph Rewriting. In TERMGRAPH 2006, 2006.
[5]
The ACM Digital Library. Association for Computing Machinery. Accessed on March 27th 2006. URL: http://portal.acm.org.
[6]
J. Ferrante, K.J. Ottenstein, and J.D. Warren. The Program Dependence Graph and Its Use in Optimization. ACM Transactions on Programming Languages and Systems, 9(3):319--349, 1987.
[7]
Peter Fritzson, Nahid Shahmehri, Mariam Kamkar, and Tibor Gyimóthy. Generalized Algorithmic Debugging and Testing. LOPLAS, 1(4):303--322, 1992.
[8]
Daniel Jackson and Eugene~J. Rollins. Chopping: A generalization of slicing. Technical Report CS-94-169, 1994.
[9]
Gabriella Kokai, L Harmath, and Tibor Gyimothy. Algorithmic debugging and testing of prolog programs. In Workshop on Logic Programming Environments, pages 14--21, 1997.
[10]
B. Korel and J. Laski. Dynamic Program Slicing. Information Processing Letters, 29(3):155--163, 1988.
[11]
I. MacLarty. Practical Declarative Debugging of Mercury Programs. PhD thesis, Department of Computer Science and Software Engineering, The University of Melbourne, 2005.
[12]
Lee Naish. A Declarative Debugging Scheme. Journal of Functional and Logic Programming, 1997(3), 1997.
[13]
Lee Naish. A three-valued declarative debugging scheme. In Workshop on Logic Programming Environments, pages 1--12, 1997.
[14]
H. Nilsson and P. Fritzson. Algorithmic Debugging for Lazy Functional Languages. Journal of Functional Programming, 4(3):337--370, 1994.
[15]
Henrik Nilsson. Declarative Debugging for Lazy Functional Languages. PhD thesis, Linköping, Sweden, May 1998.
[16]
C. Ochoa, J. Silva, and G. Vidal. Dynamic Slicing Based on Redex Trails. In Proc. of the ACM SIGPLAN 2004 Symposium on Partial Evaluation and Program Manipulation (PEPM'04), pages 123--134. ACM Press, 2004.
[17]
J. Paakki, T. Gyimóthy, and T. Horváth. Effective algorithmic debugging for inductive logic programming. volume 237 of GMD-Studien, pages 175--194. Gesellschaft für Mathematik und Datenverarbeitung MBH, 1994.
[18]
L. M. Pereira. Rational Debugging in Logic Programming. In Proceedings on Third international conference on logic programming, pages 203--210, New York, NY, USA, 1986. Springer-Verlag New York, Inc.
[19]
S. L. Peyton-Jones, editor. Haskell 98 Language and Libraries : The Revised Report. Cambridge University Press, 2003.
[20]
E.Y. Shapiro. Algorithmic Program Debugging. MIT Press, 1983.
[21]
J. Sparud and C. Runciman. Tracing Lazy Functional Computations Using Redex Trails. In Proc. of the 9th Int'l Symp. on Programming Languages, Implementations, Logics and Programs (PLILP'97), pages 291--308. Springer LNCS 1292, 1997.
[22]
M. Wallace, O. Chitil, T. Brehm, and C. Runciman. Multiple-View Tracing for Haskell: a New Hat. In Proc. of the 2001 ACM SIGPLAN Haskell Workshop. Universiteit Utrecht UU-CS-2001-23, 2001.
[23]
M.D. Weiser. Program Slicing. IEEE Transactions on Software Engineering, 10(4):352--357, 1984.

Cited By

View all
  • (2019)Combining Program Slicing and Algorithmic Debugging to Diagnose a PLC program2019 16th International Multi-Conference on Systems, Signals & Devices (SSD)10.1109/SSD.2019.8893276(246-249)Online publication date: Mar-2019
  • (2018)A survey on algorithmic debugging strategiesAdvances in Engineering Software10.1016/j.advengsoft.2011.05.02442:11(976-991)Online publication date: 31-Dec-2018
  • (2017)Imperative functional programs that explain their workProceedings of the ACM on Programming Languages10.1145/31102581:ICFP(1-28)Online publication date: 29-Aug-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '06: Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2006
280 pages
ISBN:1595933883
DOI:10.1145/1140335
  • General Chair:
  • Annalisa Bossi,
  • Program Chair:
  • Michael Maher
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: 10 July 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algorithmic debugging
  2. program slicing

Qualifiers

  • Article

Conference

PPDP06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2019)Combining Program Slicing and Algorithmic Debugging to Diagnose a PLC program2019 16th International Multi-Conference on Systems, Signals & Devices (SSD)10.1109/SSD.2019.8893276(246-249)Online publication date: Mar-2019
  • (2018)A survey on algorithmic debugging strategiesAdvances in Engineering Software10.1016/j.advengsoft.2011.05.02442:11(976-991)Online publication date: 31-Dec-2018
  • (2017)Imperative functional programs that explain their workProceedings of the ACM on Programming Languages10.1145/31102581:ICFP(1-28)Online publication date: 29-Aug-2017
  • (2017)A Survey of Algorithmic DebuggingACM Computing Surveys10.1145/310674050:4(1-35)Online publication date: 30-Aug-2017
  • (2017)SkalpelJournal of Symbolic Computation10.1016/j.jsc.2016.07.01380:P1(164-208)Online publication date: 1-May-2017
  • (2016)A Lightweight HatProceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages10.1145/3064899.3064904(1-14)Online publication date: 31-Aug-2016
  • (2016)Revisit of automatic debugging via human focus-tracking analysisProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884834(808-819)Online publication date: 14-May-2016
  • (2014)Towards a Formal Semantics-Based Technique for Interprocedural SlicingIntegrated Formal Methods10.1007/978-3-319-10181-1_18(291-306)Online publication date: 2014
  • (2013)An Embedded Type DebuggerImplementation and Application of Functional Languages10.1007/978-3-642-41582-1_12(190-206)Online publication date: 16-Nov-2013
  • (2013)A Generic Program Slicing Technique Based on Language DefinitionsRecent Trends in Algebraic Development Techniques10.1007/978-3-642-37635-1_15(248-264)Online publication date: 2013
  • Show More Cited By

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