ISSTA 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Thu 19 Sep 2024 16:10 - 16:30 at EI 3 Sahulka - Debugging Chair(s): Andreas Zeller

Reactive programming reacts to data items as they occur, rather than waiting for them to complete. This programming paradigm is widely used in asynchronous and event-driven scenarios, such as web applications, microservices, real-time data processing, IoT, interactive UIs, and big data. When done right, it can offer greater responsiveness without extra resource usage. However, this also requires a thorough understanding of asynchronous and non-blocking coding, posing a learning curve for developers new to this style of programming. In this work, we analyze issues reported in reactive applications and explore their corresponding fixes. Our investigation results reveal that (1) developers often do not fix or ignore reactiveness bugs as compared to other bug types, and (2) this tendency is most pronounced for blocking-call bugs – bugs that block the execution of the program to wait for the operations (typically I/O operations) to finish, wasting CPU and memory resources. To improve the debugging practice of such blocking bugs, we develop a pattern-based proactive program repair technique and obtain 30 patches, which we submit to the developers. In addition, we hypothesize that the low patch acceptance rate for reactiveness bugs is due to the difficulty of assessing the patches. This is in contrast to functionality bugs, where the correctness of the patches can be assessed by running test cases. To assess our hypothesis, we split our patches into two groups: one with performance improvement evidence and the other without. It turns out that the patches are more likely to be accepted when submitted with performance improvement evidence.

Thu 19 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:30 - 16:50
DebuggingTechnical Papers at EI 3 Sahulka
Chair(s): Andreas Zeller CISPA Helmholtz Center for Information Security
15:30
20m
Talk
Traceback: A Fault Localization Technique for Molecular Programs
Technical Papers
Michael C. Gerten Iowa State University, James I. Lathrop Iowa State University, Myra Cohen Iowa State University
DOI
15:50
20m
Talk
C2D2: Extracting Critical Changes for Real-World Bugs with Dependency-Sensitive Delta Debugging
Technical Papers
Xuezhi Song Fudan University, Yijian Wu Fudan University, Shuning Liu Fudan University, Bihuan Chen Fudan University, Yun Lin Shanghai Jiao Tong University, Xin Peng Fudan University
DOI
16:10
20m
Talk
Preserving Reactiveness: Understanding and Improving the Debugging Practice of Blocking-Call Bugs
Technical Papers
Arooba Shahoor Kyungpook National University, Jooyong Yi UNIST, Dongsun Kim Korea University
DOI

Information for Participants
Thu 19 Sep 2024 15:30 - 16:50 at EI 3 Sahulka - Debugging Chair(s): Andreas Zeller
Info for room EI 3 Sahulka:

Map: https://tuw-maps.tuwien.ac.at/?q=CF0205

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15663