Debugging for Reactive Programming

被引:22
|
作者
Salvaneschi, Guido [1 ]
Mezini, Mira [1 ]
机构
[1] Tech Univ Darmstadt, Darmstadt, Germany
来源
2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) | 2016年
基金
欧洲研究理事会;
关键词
Functional-reactive Programming; Debugging;
D O I
10.1145/2884781.2884815
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Reactive programming is a recent programming technique that provides dedicated language abstractions for reactive software. Reactive programming relieves developers from manually updating outputs when the inputs of a computation change, it overcomes a number of well-know issues of the Observer design pattern, and it makes programs more comprehensible. Unfortunately, complementing the new paradigm with proper tools is a vastly unexplored area. Hence, as of now, developers can embrace reactive programming only at the cost of a more challenging development process. In this paper, we investigate a primary issue in the field: debugging programs in the reactive style. We analyze the problem of debugging reactive programs, show that the reactive style requires a paradigm shift in the concepts needed for debugging, and propose RP Debugging, a methodology for effectively debugging reactive programs. These ideas are implemented in Reactive Inspector, a debugger for reactive programs integrated with the Eclipse Scala IDE. Evaluation based on a controlled experiment shows that RP Debugging outperforms traditional debugging techniques.
引用
收藏
页码:796 / 807
页数:12
相关论文
共 50 条
  • [1] Debugging Reactive Programming with Reactive Inspector
    Salvaneschi, Guido
    Mezini, Mira
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 728 - 730
  • [2] PROGRAMMING IS ALSO DEBUGGING
    Pecinovsky, Rudolf
    SOFTWARE DEVELOPMENT 2011, 2011, : 88 - 91
  • [3] Novices' Debugging Behaviors in VB Programming
    Chen, Mei-Wen
    Wu, Cheng-Chih
    Lin, Yu-Tzu
    2013 LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE 2013), 2013, : 25 - 30
  • [4] Debugging Data Flows in Reactive Programs
    Banken, Herman
    Meijer, Erik
    Gousios, Georgios
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 752 - 763
  • [5] The Construction of Theoretical Model of Debugging in Computer Programming
    Du Chuntao
    ICAIE 2009: PROCEEDINGS OF THE 2009 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND EDUCATION, VOLS 1 AND 2, 2009, : 142 - 147
  • [6] Edit-Run Behavior in Programming and Debugging
    Alaboudi, Abdulaziz
    LaToza, Thomas D.
    2021 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2021), 2021,
  • [7] Debugging during block-based programming
    ChanMin Kim
    Jiangmei Yuan
    Lucas Vasconcelos
    Minyoung Shin
    Roger B. Hill
    Instructional Science, 2018, 46 : 767 - 787
  • [8] Debugging during block-based programming
    Kim, ChanMin
    Yuan, Jiangmei
    Vasconcelos, Lucas
    Shin, Minyoung
    Hill, Roger B.
    INSTRUCTIONAL SCIENCE, 2018, 46 (05) : 767 - 787
  • [9] Advanced testing and debugging support for reactive executable DSLs
    Faezeh Khorram
    Erwan Bousse
    Jean-Marie Mottu
    Gerson Sunyé
    Software and Systems Modeling, 2023, 22 : 819 - 845
  • [10] Advanced testing and debugging support for reactive executable DSLs
    Khorram, Faezeh
    Bousse, Erwan
    Mottu, Jean-Marie
    Sunye, Gerson
    SOFTWARE AND SYSTEMS MODELING, 2023, 22 (03) : 819 - 845