Enhancing Trace Debugging with Algorithmic and Omniscient Debugging

During many years, Print Debugging has been the most used method for debugging. Nowadays, however, industrial languages come with a trace debugger that allows programmers to trace computations step by step using breakpoints and state viewers. Almost all modern programming environments include a trac...

Full description

Bibliographic Details
Authors: González, Juan, Insa Cabrera, David, Silva, Josep|||0000-0001-5096-0008
Format: book part
Publication Date:2013
Country:España
Institution:Universitat Politècnica de València (UPV)
Repository:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Language:English
OAI Identifier:oai:riunet.upv.es:10251/72827
Online Access:https://riunet.upv.es/handle/10251/72827
Access Level:Open access
Keyword:LENGUAJES Y SISTEMAS INFORMATICOS
Description
Summary:During many years, Print Debugging has been the most used method for debugging. Nowadays, however, industrial languages come with a trace debugger that allows programmers to trace computations step by step using breakpoints and state viewers. Almost all modern programming environments include a trace debugger that allows us to inspect the state of a computation in any given point. Nevertheless, this debugging method has been criticized for being completely manual and time-consuming. Other debugging techniques have appeared to solve some of the problems of Trace Debugging, but they suffer from other problems such as scalability. In this work we present a new hybrid debugging technique. It is based on a combination of Trace Debugging, Algorithmic Debugging and Omniscient Debugging to produce a synergy that exploits the best properties and strong points of each technique. We describe the architecture of our hybrid debugger and our implementation that has been integrated into Eclipse as a plugin.