[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2846656.2846658acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Medic: metaprogramming and trace-oriented debugging

Published: 26 October 2015 Publication History

Abstract

Modern programmers enjoy a wealth of high-level and graphical tools for understanding and debugging programs. Nevertheless, programmers often resort to the simple and the time-honored technique of inserting print statements into programs to reveal progress and to expose intermediate values. This trace debugging (a.k.a. printf debugging) technique persists because it has many advantages. Traditional trace debugging also has several drawbacks, including the need to modify the source program and the need for additional tools when trace output becomes too voluminous. Medic, our new debugging and program-exploration tool for Racket, augments the traditional examination of control and state with output processing, metaprogramming, and visualization features. Medic allows programmers to leverage the benefits of trace debugging while addressing many of its drawbacks.

References

[1]
Eli Barzilay. The Scribble Reader. In Proc. Wksp. on Scheme and Functional Programming, 2009.
[2]
Jeffrey K. Czyz and Bharat Jayaraman. Declarative and Visual Debugging in Eclipse. In Proc. ACM Conf. Object-Oriented Programming, Systems, Languages and Applications Wksp. on Eclipse Technology Exchange, pp. 31-35, 2007.
[3]
Christopher J. Dutchyn. AspectScheme-Aspects in Higher-Order Languages. In Proc. Workshop on Scheme and Functional Programming, 2012.
[4]
Peter Eades. A Heuristic for Graph Drawing. Congressus Numerantium 42, pp. 149-160, 1984.
[5]
Matthew Flatt, Eli Barzilay, and Robert Bruce Findler. Scribble: Closing the Book on Ad Hoc Documentation Tools. In Proc. Intl. Conf. on Functional Programming, pp. 109-120, 2009.
[6]
Thomas M.J. Fruchterman and Edward M. Reingold. Graph Drawing by Force-Directed Placement. Software--Practice & Experience 21(11), pp. 1129-1164, 1991.
[7]
Paul V. Gestwicki. Interactive Visualization of Object-Oriented Programs. In Proc. ACM Conf. Object-Oriented Programming, Systems, Languages and Applications, pp. 48-49, 2004.
[8]
Hani Z. Girgis, Bharat Jayaraman, and Paul V. Gestwicki. Visualizing Errors in Object Oriented Programs. In Proc. ACM Conf. Object-Oriented Programming, Systems, Languages and Applications, pp. 156-157, 2005.
[9]
Mark Scott Johnson. The Design of a High-Level, Language-Independent Symbolic Debugging System. In Proc. ACM '77 Annual Conf., pp. 315-322, 1977.
[10]
Gerald M. Karam. Visualization Using Timelines. In Proc. ACM SIGSOFT Intl. Sym. on Software Testing and Analysis, pp. 125- 137, 1994.
[11]
Jun Kato, Sean McDirmid, and Xiang Cao. DejaVu: Integrated Support for Developing Interactive Camera-Based Programs. In Proc. 25th annual ACM Sym. on User Interface Software and Technology, pp. 189-196, 2012.
[12]
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An Overview of AspectJ. In Proc. European Conf. Object-Oriented Programming, pp. 327- 353, 2001.
[13]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-Oriented Programming. In Proc. European Conf. Object-Oriented Programming, pp. 220-242, 1997.
[14]
Adrian Lienhard, Julien Fierz, and Oscar Nierstrasz. Flow-Centric, Back-In-Time Debugging. In Proc. TOOLS Europe, pp. 272- 288, 2009.
[15]
Guillaume Marceau, Gregory H. Cooper, Jonathan P. Spiro, Shriram Krishnamurthi, and Steven P. Reiss. The Design and Implementation of a Dataflow Language for Scriptable Debugging. Automated Software Engineering 14(1), pp. 59-86, 2006.
[16]
Sean McDirmid. Usable Live Programming. In Proc. Sym. on New Ideas, New Paradigms, and Reflections on Programming & Software, pp. 53-62, 2013.
[17]
Ronald A. Olsson, Richard H. Crawford, and W. Wilson Ho. Dalek: A GNU, Improved Programmable Debugger. In Proc. Usenix Technical Conf., pp. 221-232, 1990.
[18]
Nick Papoylias. High-Level Debugging Facilities and Interfaces: Design and Development of a Debug-Oriented I.D.E. In Proc. 6th Intl. IFIP WG 2.13 Conf. on Open Source Systems, pp. 373- 379, 2010.
[19]
John W. Stamey, Jr., Bryan T. Saunders, and Ryan Watts. Aspect-Oriented Debugging. In Proc. Intl. Conf. on Aspect-Oriented Software Development, 2005.
[20]
Swift. 2014. https://developer.apple.com/swift/
[21]
Warren Teitelman. PILOT: A Step Toward Man-Computer Symbiosis. PhD dissertation, Massachusetts Institute of Technology, 1966.
[22]
Yoshiyuki Usui and Shigeru Chiba. Bugdel: An Aspect-Oriented Debugging System. In Proc. Asia-Pacific Software Engineering Conf., pp. 790-795, 2005.
[23]
Bret Victor. Learnable Programming. 2012. http://worrydream.com/LearnableProgramming/
[24]
Phil Winterbottom. Acid: A Debugger Built From A Language. In Proc. Usenix Annual Technical Conf., pp. 211-222, 1994.
[25]
Andreas Zeller. Debugging with DDD. First edition. GNU Press, 2004.

Cited By

View all
  • (2019)Suspend-Less Debugging for Interactive and/or Realtime Programs2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00028(194-205)Online publication date: Apr-2019
  • (2018)iDeA: an immersive debugger for actorsProceedings of the 17th ACM SIGPLAN International Workshop on Erlang10.1145/3239332.3242762(1-12)Online publication date: 29-Sep-2018
  • (2017)Evaluating the Use of Pedagogical Virtual Machine with Augmented Reality to Support Learning Embedded Computing ActivityProceedings of the 9th International Conference on Computer and Automation Engineering10.1145/3057039.3057088(44-50)Online publication date: 18-Feb-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FPW 2015: Proceedings of the Workshop on Future Programming
October 2015
22 pages
ISBN:9781450339056
DOI:10.1145/2846656
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Metaprogramming
  2. trace debugging
  3. visualization

Qualifiers

  • Research-article

Conference

SPLASH '15
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Suspend-Less Debugging for Interactive and/or Realtime Programs2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00028(194-205)Online publication date: Apr-2019
  • (2018)iDeA: an immersive debugger for actorsProceedings of the 17th ACM SIGPLAN International Workshop on Erlang10.1145/3239332.3242762(1-12)Online publication date: 29-Sep-2018
  • (2017)Evaluating the Use of Pedagogical Virtual Machine with Augmented Reality to Support Learning Embedded Computing ActivityProceedings of the 9th International Conference on Computer and Automation Engineering10.1145/3057039.3057088(44-50)Online publication date: 18-Feb-2017
  • (2017)Making the Invisible Visible: Real-Time Feedback for Embedded Computing Learning Activity Using Pedagogical Virtual Machine with Augmented RealityAugmented Reality, Virtual Reality, and Computer Graphics10.1007/978-3-319-60922-5_27(339-355)Online publication date: 8-Jun-2017

View Options

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