In this paper we present LEONARDO, an integrated environment for software v
isualization that allows the user to edit, compile, execute, and animate ge
neral-purpose C programs. LEONARDO relies on a logic-based approach to visu
alization: a mapping between concrete and abstract data structures can be d
eclared through a logic visualization language and animations are conceived
as reflecting formal properties of algorithms. LEONARDO is able to automat
ically detect visual events during the execution of programs and simplifies
the creation of visualizations according to an incremental approach. Moreo
ver, it guarantees the complete reversibility of computations, bounded only
by the potentiality of the working machine, and appears simple to be used.
The latest version of LEONARDO is currently available over the Internet at
the URL http://www.dis.uniroma1.it/similar to demetres/Leonardo/. (C) 2000
Academic Press.