Logo

SIG Beer - Wim De Pauw - Visualization of Complex IT Systems

Language: English
Date: 15 December 2008 6:15 pm
Registered participants: 14

Location: Institut für Informatik und angewandte Mathematik (IAM), Universität Bern, Engehalde 8, room 001

About Wim De Pauw

Photo

Wim De Pauw received his Ph.D. in Computer Science from the University of Ghent, Belgium in 1991. He has been a Research Staff member at the IBM T. J. Watson Research Center since 1992 where he has lead different software visualization projects such as Ovation (C++ visualization) and Jinsight (Java visualization). Jinsight technology is now part of IBM’s Websphere Studio Application Developer and some of it has been released under the open source project Hyades. He is the architect and technical lead for the Web Services Navigator. Dr. De Pauw’s research interests include software visualization, Web Services, Service-Oriented Architecture, pattern extraction, profiling, and debugging. His scientific interests include addressing large horizontal complexities in systems by using visualization, pattern extraction and adaptive tracing techniques. He publishes articles in refereed journals, has chaired conferences, and holds several patents in the area of software visualization, tracing and debugging.

Talk abstract

Information technology systems have become increasingly complex. As a result, understanding, debugging or profiling these systems with classic text-based tools has become more and more challenging. At the IBM T.J. Watson Research Center we are doing research on visual tools to support the understanding of complex IT systems. The domain of software visualization draws from several other scientific domains, such as information visualization, tracing and debugging techniques, management of complex systems, pattern extraction and human-computer interaction. In this talk, I will illustrate our research on software visualization with live demos of the following three systems:

1. Jinsight is a tool for exploring a Java program’s run-time behavior visually. It is helpful for performance analysis, debugging, and any task in which you need to better understand what your Java program is really doing. Jinsight was designed specifically with object-oriented and multithreaded programs in mind. It exposes many facets of program behavior that elude conventional tools. It reveals object lifetimes and communication, and attendant performance bottlenecks. It shows thread interactions, deadlocks, and garbage collector activity. It can also help you find and fix memory leaks, which remain a hazard despite garbage collection.

2. The Web Services Navigator is a visualization tool that fosters better understanding of service-oriented architecture (SOA) applications. We draw on our experience with real SOA applications to show how this tool has been applied to practical problems ranging from business logic misunderstandings to performance bottlenecks to syntax and semantic errors. The Web Services Navigator helps to solve these problems by visualizing how applications really execute, enabling business owners, application designers, project managers, programmers, and operations staff to understand how their applications actually behave.

3. Streamsight is a tool to visualize complex stream processing applications. Stream processing is becoming a new and important computing paradigm. Innovative streaming applications are being developed in areas ranging from scientific applications (e.g., environment monitoring), to business intelligence (e.g., fraud detection and trend analysis), to financial markets (e.g., algorithmic trading strategies). Developing, understanding, debugging, and optimizing streaming applications is non-trivial because of the adaptive and dynamic nature of these applications. The sheer complexity and the distributed character of a large number of cooperating components hosted on a distributed environment further complicate matters. We designed and built Streamsight to examine, monitor, and help understand the dynamic behavior of streaming applications. Previously developed stream processing visualization tools focus solely on composition of dataflow graphs. Streamsight’s novelty hinges on a wide range of capabilities, including the ability to manage the dynamics of large and evolving topologies comprising multiple streaming applications with thousands of nodes and inter-connections. From rendering live performance counters using different perspectives to allowing recordings and replays of the execution process, Streamsight provides the mechanisms that permit a better understanding of the evolving and adaptive behavior of streaming applications. These capabilities are used for debugging purposes, for performance optimization, and management of resources, including capacity planning.