Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Wed 17 May 2023 14:00 - 14:15 at Meeting Room 105 - Debugging Chair(s): Jie M. Zhang

Numerous program slicing approaches aim to help developers troubleshoot regression failures – one of the most time-consuming development tasks. The main idea behind these approaches is to identify a subset of interdependent program statements relevant to the failure, minimizing the amount of code developers need to inspect. Accuracy and reduction rate achieved by slicing are the key considerations toward their applicability in practice: inspecting only the statements in a slice should be faster and more efficient than inspecting the code in full. In this paper, we report on our experiment applying one of the most recent and accurate slicing approaches, dual slicing, to the task of troubleshooting regression failures. As subjects, we use projects from the popular Defects4J benchmark and a systematically-collected set of eight large, open-source client-library project pairs with at least one library upgrade failure, which we refer to as LibRench. The results of our experiments show that the produced slices, while effective in reducing the scope of manual inspection, are still very large to be comfortably analyzed by a human. When inspecting these slices, we observe that most statements in a slice deal with the propagation of information between changed code blocks; these statements are essential for obtaining the necessary context for the changes but are not responsible for the failure directly. Motivated by this insight, we propose a novel approach, implemented in a tool named InPreSS, for further reducing the size of a slice by accurately identifying and summarizing the propagation-related code blocks. Our evaluation of InPreSS shows that it is able to produce slices that are 76% shorter than the original ones (207 vs. 2,007 execution statements, on average), thus, reducing the amount of information developers need to inspect without losing the necessary contextual information.

Wed 17 May

Displayed time zone: Hobart change

13:45 - 15:15
13:45
15m
Talk
ECSTATIC: An Extensible Framework for Testing and Debugging Configurable Static Analysis
Technical Track
Austin Mordahl University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas
Pre-print
14:00
15m
Talk
Responsibility in Context: On Applicability of Slicing in Semantic Regression Analysis
Technical Track
Sahar Badihi University of British Columbia, Canada, Khaled Ahmed University of British Columbia (UBC), Yi Li Nanyang Technological University, Julia Rubin University of British Columbia, Canada
Pre-print
14:15
15m
Talk
Does the Stream API Benefit from Special Debugging Facilities? A Controlled Experiment on Loops and Streams with Specific Debuggers
Technical Track
Jan Reichl , Stefan Hanenberg University of Duisburg-Essen, Essen, Germany, Volker Gruhn University Duisburg-Essen
Pre-print
14:30
15m
Talk
Fonte: Finding Bug Inducing Commits from Failures
Technical Track
Gabin An KAIST, Jingun Hong SAP Labs, Naryeong Kim KAIST, Shin Yoo KAIST
Pre-print
14:45
15m
Talk
Do the Test Smells Assertion Roulette and Eager Test Impact Students’ Troubleshooting and Debugging Capabilities?
SEET - Software Engineering Education and Training
Wajdi Aljedaani University of North Texas, Mohamed Wiem Mkaouer Rochester Institute of Technology, Anthony Peruma University of Hawai‘i at Mānoa, Stephanie Ludi University of North Texas
Pre-print
15:00
7m
Talk
RexStepper: a Reference Debugger for JavaScript Regular Expressions
DEMO - Demonstrations
Luis Almeida IST, Miguel Gonzaga IST, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal , Rui Abreu University of Porto
15:07
7m
Talk
Toward Gaze-assisted Developer Tools
NIER - New Ideas and Emerging Results
Peng Kuang Lund University, Emma Söderberg Lund University, Diederick Niehorster Lund University, Martin Höst Lund University
Pre-print