{"title":"可视化复杂的控制流","authors":"M. Beaumont, D. Jackson","doi":"10.1109/VL.1998.706169","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":185794,"journal":{"name":"Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":"{\"title\":\"Visualising complex control flow\",\"authors\":\"M. Beaumont, D. Jackson\",\"doi\":\"10.1109/VL.1998.706169\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"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.\",\"PeriodicalId\":185794,\"journal\":{\"name\":\"Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254)\",\"volume\":\"40 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1998-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"7\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/VL.1998.706169\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/VL.1998.706169","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
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.