Skip to Main content Skip to Navigation
New interface
Reports (Research report)

Coca: A Debugger for C Based on Fine Grained Control Flow and Data Events

Mireille Ducassé 1 
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : We present Coca, an automated debugger for C, where the breakpoint mechanism is based on events related to language constructs. Events have semantics whereas source lines used by most debuggers do not have any. A trace is a sequence of events. It can be seen as an ordered relation in a database. Users can specify precisely which events they want to see by specifying values for event attributes. At each event, visible variables can be queried. The trace query language is Prolog with a handful of primitives. The trace query mechanism searches through the execution traces using both control flow and data whereas debuggers usually search according to either control flow or data. As opposed to fully «relational» debuggers which use plain database querying mechanisms, Coca trace querying mechanism does not require any storage. The analysis is done on the fly, synchronously with the traced execution. Coca is therefore more powerful than «source line» debuggers and more efficient than relational debuggers.
Document type :
Reports (Research report)
Complete list of metadata
Contributor : Rapport De Recherche Inria Connect in order to contact the contributor
Submitted on : Wednesday, May 24, 2006 - 12:10:48 PM
Last modification on : Thursday, October 27, 2022 - 3:45:06 AM
Long-term archiving on: : Sunday, April 4, 2010 - 11:37:39 PM


  • HAL Id : inria-00073198, version 1


Mireille Ducassé. Coca: A Debugger for C Based on Fine Grained Control Flow and Data Events. [Research Report] RR-3489, INRIA. 1998. ⟨inria-00073198⟩



Record views


Files downloads