Visualising complex control flow

The difficulties associated with visualising control flow are well-known to visual language designers. It becomes even more problematical for low level code, where recognisable control structures are often the exception rather than the norm. Conventional control flow graphs are incomprehensible for such code, even when viewed in terms of basic blocks. In our own work on visualising low level operations, we have designed a system that allows the programmer graphically to specify the modularity of the code as it is written, and to use the visual environment to interconnect, manipulate and view these modules. For code that has been created outside the system, we adopt a technique devised by the software engineering community to depict LCSAJ (Linear Code Sequence and Jump) spans as the control flow nodes. Finally, we introduce the notion of 'focus' to allow a programmer to concentrate not only on individual nodes, but also on the program context in which those nodes are set.

[1]  Antonette M. Logar,et al.  Assembly language programming for the 68000 , 1987 .

[2]  Steven P. Reiss,et al.  PECAN: Program Development Systems that Support Multiple Views , 1984, IEEE Transactions on Software Engineering.

[3]  Margaret M. Burnett,et al.  Scaling Up Visual Programming Languages , 1995, Computer.

[4]  L. L. Tripp Graphical notations for program design , 1988, SOEN.

[5]  David W. McIntyre,et al.  The user's view of SunPict, an extensible visual environment for intermediate-scale procedural programming , 1989, [1989] Proceedings. The Fourth Israel Conference on Computer Systems and Software Engineering.

[6]  David Jackson,et al.  Low level visual programming , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[7]  Ephraim P. Glinert,et al.  C/sup 2/: a mixed textual/graphical environment for C , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[8]  Daniel D. Hils,et al.  Visual languages and computing survey: Data flow visual programming languages , 1992, J. Vis. Lang. Comput..

[9]  Wayne Citrin,et al.  Incorporating fisheyeing into a visual programming environment , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.