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

A promising approach for debugging remote promises

Published: 23 August 2016 Publication History

Abstract

Promises are synchronization constructs that hide the complexity of process synchronisation from the developer by providing a placeholder for the result of a potentially incomplete computation performed in a concurrent process.
Promises evaluated by remote processes pose challenges for debugging when the remote computation raises an exception. Current debuggers are either unaware that there is a problem in the remote computation or give developers access only to the context of the remote process. This does not allow developers to interact at the same time with the process that launched the promise and the remote process that executed the promise's computation.
To improve debugging of remote promises, in this paper we propose a debugger interface that presents a unified view of both the original and the remote process, by merging the call chains of the two processes at the point where the promise was created. We exemplify our approach, discuss challenges for making it practical, and illustrate through an initial prototype that it can improve debugging of exceptions in remote promises.

References

[1]
H. C. Baker, Jr. and C. Hewitt. The incremental garbage collection of processes. SIGPLAN Not., 12(8):55--59, Aug. 1977. ISSN 0362-1340. URL http://doi.acm.org/10.1145/872734.806932.
[2]
R. M. Balzer. Exdams: Extendable debugging and monitoring system. In Proceedings of the May 14-16, 1969, Spring Joint Computer Conference, AFIPS '69 (Spring), pages 567--580, New York, NY, USA, 1969. ACM. 1476881. URL http://doi.acm.org/10.1145/1476793.1476881.
[3]
J. K. Bennett. The design and implementation of distributed Smalltalk, volume 22. ACM, 1987.
[4]
A. Black, S. Ducasse, O. Nierstrasz, D. Pollet, D. Cassou, and M. Denker. Pharo by Example. Square Bracket Associates, 2009. ISBN 978-3-9523341-4-0. URL http://pharobyexample.org.
[5]
T. Cargill. Pi: A case study in object-oriented programming. In Proceedings OOPSLA '86, ACM SIGPLAN Notices, volume 21, pages 350--360, Nov. 1986.
[6]
P. Chen. Debugging asynchronous JavaScript with Chrome DevTools, July 2014. http://www.html5rocks.com/en/tutorials/developertools/async-call-stack/.
[7]
K. Clohessy, B. Barry, and P. Tanner. New complexities in the embedded world - the OTI approach. In Object-Oriented Technologys, pages 472--478. Springer, 1997.
[8]
D. P. Friedman and C. T. Haynes. Constraining control. In Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL '85, pages 245--254, New York, NY, USA, 1985. ACM. ISBN 0-89791-147-4. URL http://doi.acm.org/10.1145/318593.318654.
[9]
D. P. Friedman and D. S. Wise. Aspects of applicative programming for file systems (preliminary version). SIGSOFT Softw. Eng. Notes, 2(2):41--55, Mar. 1977. ISSN 0163-5948. URL http://doi.acm.org/10.1145/390019.808310.
[10]
E. Keremitsis and I. J. Fuller. HP Distributed Smalltalk: A tool for developing distributed applications. HEWLETT PACKARD JOURNAL, 46:85--85, 1995.
[11]
M. Leske. Improving live debugging of concurrent threads. Masters thesis, University of Bern, Aug. 2016. URL http://scg.unibe.ch/archive/masters/Lesk16a.pdf.
[12]
B. Liskov and L. Shrira. Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, PLDI '88, pages 260--267, New York, NY, USA, 1988. ACM. ISBN 0-89791-269-1. URL http://doi.acm.org/10.1145/53990.54016.
[13]
C. E. McDowell and D. P. Helmbold. Debugging concurrent programs. ACM Computing Surveys, 21(4):593--622, Dec. 1989.
[14]
E. Miranda. Context management in VisualWorks 5i. Technical report, ParcPlace Division, CINCOM, Inc., 1999.
[15]
N. Papoulias. Remote Debugging and Reflection in Resource Constrained Devices. PhD thesis, Université des Sciences et Technologie de Lille-Lille I, 2013.
[16]
N. Papoulias, N. Bouraqadi, L. Fabresse, S. Ducasse, and M. Denker. Mercury: Properties and design of a remote debugging solution using reflection. Journal of Object Technology, page 36, 2015.
[17]
R. Stallman, R. Pesch, S. Shebs, et al. Debugging with GDB. Free Software Foundation, 51:02110--1301, 2002.
[18]
M. Sung, S. Kim, S. Park, N. Chang, and H. Shin. Comparative performance evaluation of Java threads for embedded applications: Linux thread vs. Green thread. Information Processing Letters, 84(4):221--225, 2002. ISSN 0020-0190. URL http://www.sciencedirect.com/science/article/pii/S0020019002002867.
[19]
P. S. Utter and C. M. Pancake. Advances in Parallel Debuggers: New Approaches to Visualization, volume 18. Cornell Theory Center, Cornell University, 1989.
[20]
L. Zhang, C. Krintz, and P. Nagpurkar. Supporting exception handling for futures in Java. In Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java, PPPJ '07, pages 175--184, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-672-1. URL http://doi.acm.org/10.1145/1294325.1294349.

Cited By

View all
  • (2020)Framework-aware debugging with stack tailoringProceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages10.1145/3426422.3426982(71-84)Online publication date: 17-Nov-2020
  • (2019)AwaitVizProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297528(2515-2524)Online publication date: 8-Apr-2019
  • (2018)Design and Implementation of an Efficient Debugging Environment for DSP2018 2nd IEEE Advanced Information Management,Communicates,Electronic and Automation Control Conference (IMCEC)10.1109/IMCEC.2018.8469729(602-606)Online publication date: May-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
IWST'16: Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies
August 2016
219 pages
ISBN:9781450345248
DOI:10.1145/2991041
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 the author(s) 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].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 August 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debuggers
  2. remote debugging
  3. remote promises

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

IWST'16
IWST'16: International Workshop on Smalltalk Technologies
August 23 - 24, 2016
Prague, Czech Republic

Acceptance Rates

IWST'16 Paper Acceptance Rate 25 of 27 submissions, 93%;
Overall Acceptance Rate 25 of 27 submissions, 93%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2020)Framework-aware debugging with stack tailoringProceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages10.1145/3426422.3426982(71-84)Online publication date: 17-Nov-2020
  • (2019)AwaitVizProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297528(2515-2524)Online publication date: 8-Apr-2019
  • (2018)Design and Implementation of an Efficient Debugging Environment for DSP2018 2nd IEEE Advanced Information Management,Communicates,Electronic and Automation Control Conference (IMCEC)10.1109/IMCEC.2018.8469729(602-606)Online publication date: May-2018
  • (2018)Improving live debugging of concurrent threads through thread historiesScience of Computer Programming10.1016/j.scico.2017.10.005161:C(122-148)Online publication date: 1-Sep-2018
  • (2017)A principled approach towards debugging communicating event-loopsProceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3141834.3141839(41-49)Online publication date: 23-Oct-2017
  • (2016)Improving live debugging of concurrent threadsCompanion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity10.1145/2984043.2998544(61-62)Online publication date: 20-Oct-2016

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