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

Debugging Cyber-Physical Systems with Pharo: An Experience Report

Published: 04 September 2017 Publication History

Abstract

Cyber-Physical Systems (CPS) integrate sensors and actuators to collect data and control entities in the physical world. Debugging CPS systems is hard due to the time-sensitive nature of a distributed applications combined with the lack of control on the surrounding physical environment. This makes bugs in CPS systems hard to reproduce and thus to fix. In this context, on-line debugging techniques are helpful because the debugger is connected to the device when an exception or crash occurs.
This paper reports on our experiences on applying two different on-line debugging techniques for a CPS system: remote debugging using the Pharo remote debugger and our IDRA debugger. In contrast to traditional remote debugging, IDRA allows to on-line debug an application locally in another client machine by reproducing the runtime context where the bug manifested. Our qualitative evaluation shows that IDRA provides almost the same interaction capabilities than Pharo's remote debugger and is less intrusive when performing hot-modifications. Our benchmarks also show that IDRA is significantly faster than the Pharo remote debugger, although it increases the amount of data transferred over the network.

References

[1]
{BDN+09} Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. Pharo by Example. Square Bracket Associates, Kehrsatz, Switzerland, 2009.
[2]
{BU04} Gilad Bracha and David Ungar. Mirrors: Design principles for meta-level facilities of object-oriented programming languages. In Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA '04, pages 331--344, New York, NY, USA, 2004. ACM.
[3]
{DCD13} Martin Dias, Damien Cassou, and Stéphane Ducasse. Representing code history with development environment events. CoRR, abs/1309.4334, 2013.
[4]
{DPDA11} Martín Dias, Mariano Martinez Peck, Stéphane Ducasse, and Gabriela Arévalo. Clustered serialization with fuel. In Proceedings of the International Workshop on Smalltalk Technologies, IWST '11, pages 1:1--1:13, New York, NY, USA, 2011. ACM.
[5]
{FPV98} A. Fuggetta, G. P. Picco, and G. Vigna. Understanding code mobility. IEEE Transactions on Software Engineering, 24(5):342--361, May 1998.
[6]
{FSF17} Inc. Free Software Foundation. The gnu project debugger. https://www.gnu.org/software/gdb/, 2017. Accessed: 2017-04-14.
[7]
{GIY+16} Muhammad Ali Gulzar, Matteo Interlandi, Seunghyun Yoo, Sai Deep Tetali, Tyson Condie, Todd Millstein, and Miryung Kim. Bigdebug: Debugging primitives for interactive big data processing in spark. In Proceedings of the 38th International Conference on Software Engineering, ICSE '16, pages 784--795, New York, NY, USA, 2016. ACM.
[8]
{Kud17} Denis Kudriashov. Pharmide: Pharo remote ide to develop farm of pharo images remotely. http://dionisiydk.blogspot.be/2017/01/pharmide-pharo-remote-ide-to-develop.html, 2017. Accessed: 2017-05-10.
[9]
{Mar17} Matteo Marra. Idra: an out-of-place debugger for non-stoppable applications, 2017. Vrije Universiteit Brussel. Brussels, Belgium. http://soft.vub.ac.be/Publications/2017/vub-soft-ms-17-01.pdf.
[10]
{MH89} Charles E. McDowell and David P. Helmbold. Debugging concurrent programs. ACM Comput. Surv., 21(4):593--622, December 1989.
[11]
{Mic17} Microsoft. Remote debugging. https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx, 2017. Accessed: 2017-05-12.
[12]
{MM80} D. R. McGregor and J. R. Malone. Stabdumpa dump interpreter program to assist debugging. Software: Practice and Experience, 10(4):329--332, 1980.
[13]
{Ora17} Oracle. Jpda - java platform debugger architecture. http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/, 2017. Accessed: 2017-05-10.
[14]
{PBF+15} Nick Papoulias, Noury Bouraqadi, Luc Fabresse, Stéphane Ducasse, and Marcus Denker. Mercury: Properties and design of a remote debugging solution using reflection. The Journal of Object Technology, 14(2):1:1, 2015.
[15]
{TS12} Sreedevi T.R., and Mary Priya Sebastian. A classification of the debugging techniques of wireless sensor networks. 2012 International Conference on Advances in Computing and Communications, 00:51--57, 2012.

Cited By

View all
  • (2021)Genetic Algorithm-based Testing of Industrial Elevators under Passenger Uncertainty2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)10.1109/ISSREW53611.2021.00101(353-358)Online publication date: Oct-2021
  • (2021)Model Assisted Distributed Root Cause Analysis2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA )10.1109/ETFA45728.2021.9613684(1-8)Online publication date: 7-Sep-2021
  • (2020)A debugging approach for live Big Data applicationsScience of Computer Programming10.1016/j.scico.2020.102460194(102460)Online publication date: Aug-2020
  • 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 '17: Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies
September 2017
128 pages
ISBN:9781450355544
DOI:10.1145/3139903
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: 04 September 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cyber-Physical Systems
  2. debugging
  3. software tools

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

IWST '17

Acceptance Rates

Overall Acceptance Rate 25 of 27 submissions, 93%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)4
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Genetic Algorithm-based Testing of Industrial Elevators under Passenger Uncertainty2021 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)10.1109/ISSREW53611.2021.00101(353-358)Online publication date: Oct-2021
  • (2021)Model Assisted Distributed Root Cause Analysis2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA )10.1109/ETFA45728.2021.9613684(1-8)Online publication date: 7-Sep-2021
  • (2020)A debugging approach for live Big Data applicationsScience of Computer Programming10.1016/j.scico.2020.102460194(102460)Online publication date: Aug-2020
  • (2020)Learning Fault Models of Cyber Physical SystemsFormal Methods and Software Engineering10.1007/978-3-030-63406-3_9(147-162)Online publication date: 19-Dec-2020
  • (2018)CollectorsCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214335(144-152)Online publication date: 9-Apr-2018

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