An Experiment Using Partial Evaluation for Transformational DebuggingOnline presentation
To identify the source of runtime errors, techniques such as debug-by-execution are widely used, e.g., steppers. While this approach can also be useful for non-runtime errors, it has been less extensively explored due to the inherent difficulties in execution. In this NIER paper, we focus on debugging type errors in statically typed languages. We explore transformational debugging, a method that transforms erroneous code to provide users with an alternative perspective on the source code, thereby facilitating the debugging process.
Our approach consists of three phases: In the first phase, we use the error messages from the compiler’s type inferencer to ``freeze'' parts of the program. In the second phase, the type inferencer is used to reduce the number of frozen parts. In the third phase, a partial evaluator evaluates the partially frozen program. During partial evaluation, the frozen parts are treated as dynamic and, therefore, remain as code without being evaluated, while the other parts are treated as static and are evaluated.
This paper presents the generic algorithms for our debugging method, two heuristic strategies for the algorithms, and promising results using a prototype for a subset of OCaml. We explore a novel avenue for debugging: Transformational debugging and partial evaluation as helpful tools for debugging.
Tue 8 OctDisplayed time zone: Arizona change
15:30 - 16:20 | Engineering / NIERNew Ideas and Emerging Results / Engineering Track at Fremont Chair(s): Eduardo Figueiredo Federal University of Minas Gerais | ||
15:30 10mResearch paper | GitRev: An LLM-based Gamification Framework for Modern Code Review Activities Engineering Track Jasem Khelifi ETS Montreal, University of Quebec, Moataz Chouchen ETS, Ali Ouni ETS Montreal, University of Quebec, Raula Gaikovina Kula Nara Institute of Science and Technology, Dong Wang Kyushu University, Japan, Salma Hamza Mediterranean Institute of Technology, South Mediterranean University, Tunisia, Mohamed Wiem Mkaouer University of Michigan - Flint | ||
15:40 10mResearch paper | An Empirical Study on Understanding Performance Issues and Causes in Android Apps New Ideas and Emerging Results Nisha Kumari Oulu University of Applied Sciences, Teerath Das University of Jyväskylä, Tommi Mikkonen University of Jyvaskyla | ||
15:50 10mResearch paper | An Experiment Using Partial Evaluation for Transformational DebuggingOnline presentation New Ideas and Emerging Results Kanae Tsushima Research Organization of Information and Systems (ROIS), Robert Glück University of Copenhagen | ||
16:00 10mResearch paper | Deciphering Discrepancies: A Comparative Analysis of Docker Image Security New Ideas and Emerging Results Brittany Boles Montana State University, Eric O'Donoghue Montana State University, Garrett Perkins Montana State University, Clemente Izurieta Montana State University, Ann Marie Reinhold Montana State University | ||
16:10 10mLive Q&A | Discussion (Engineering / NIER) New Ideas and Emerging Results |