The StreamIt development tool : a programming environment for StreamIt

StreamIt [28] is a high-level programming language intended for the development of large-scale and high-performance streaming applications that are characterized by the processing of data streams by modular structures. The StreamIt Development Tool (SDT) [25] is designed to aid the coding and simultaneous codeand graph-based debugging and visualizing of programs written in StreamIt. The goal is to provide a graphical programming environment that simply and intuitively conveys the hierarchical and structured nature of the StreamIt language by visually interpreting the dynamic behavior and graph representation of a StreamIt application. Consequently, the SDT provides utilities for program creation and code editing, compilation and launch support, breakpoints and code stepping, general debugging infrastructure, help support, stream graph examination and navigation, and stream data display, modification, and tracking. A user study evaluating the SDT uncovered several problems and areas of improvement that need to be addressed before this tool can approach its goals. Assessment of the SDT’s efficacy in its current state is inconclusive—the SDT demonstrates both the ability to improve and hinder a user’s debugging ability. Facilitating effective coding and debugging techniques and developing for scalability are critical elements in improving the SDT’s effectiveness. Thesis Supervisor: Saman Amarasinghe Title: Associate Professor