A set of mechanisms is presented for expressing conditionals at different levels of abstraction in the event-action model of interactions between the debugging system and the program being debugged. In this approach simple conditionals are defined at the lowest level of abstraction in terms of the elementary behavior of the target program. They can be expressed in terms of both the values of the program-defined entities (target entities) and the values of a set of variables, the instruction address (_ia) variables. The debugging system associates an _ia variable with each block of the target program. The _ia variable for a given block is accessed on the execution of a statement in that block, and its value is replaced with the label of that statement. Simple conditionals can be grouped to express other conditionals at higher levels of abstraction (compound conditionals) by means of a set of operators, the instantaneous/deferring (_id) operators. The _id operators allow the programmer to keep track of the evolution of the values assumed by the simple conditionals. They make it possible to monitor the activity of the target program in terms of both the path followed by the flow of control (flow history) and the sequence of the program states (state history).

Abstraction mechanisms for event control in program debugging

LAZZERINI, BEATRICE;LOPRIORE, LANFRANCO
1989-01-01

Abstract

A set of mechanisms is presented for expressing conditionals at different levels of abstraction in the event-action model of interactions between the debugging system and the program being debugged. In this approach simple conditionals are defined at the lowest level of abstraction in terms of the elementary behavior of the target program. They can be expressed in terms of both the values of the program-defined entities (target entities) and the values of a set of variables, the instruction address (_ia) variables. The debugging system associates an _ia variable with each block of the target program. The _ia variable for a given block is accessed on the execution of a statement in that block, and its value is replaced with the label of that statement. Simple conditionals can be grouped to express other conditionals at higher levels of abstraction (compound conditionals) by means of a set of operators, the instantaneous/deferring (_id) operators. The _id operators allow the programmer to keep track of the evolution of the values assumed by the simple conditionals. They make it possible to monitor the activity of the target program in terms of both the path followed by the flow of control (flow history) and the sequence of the program states (state history).
Lazzerini, Beatrice; Lopriore, Lanfranco
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/197948
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? 2
social impact